【问题标题】:Installing chrome extension from NSIS installer?从 NSIS 安装程序安装 chrome 扩展?
【发布时间】:2011-12-16 14:15:56
【问题描述】:

我有一个应用程序,它也有 Firefox 和 chrome 扩展。我正在为安装程序使用 NSIS,现在我希望安装程序有复选框,询问用户是否要为其浏览器安装扩展程序。

要安装 firefox 扩展程序很简单,我只需将扩展程序文件复制到 PROGRAMFILES\Mozilla Firefox\extensions{GUID},但我找不到适用于 chrome 的方法(来自 NSIS 安装程序)。

有人知道如何做到这一点吗?


更新:

External Extensions

谢谢我的需要。 (我还不能回答我自己的问题,因为我必须等待 8 小时才能获得 100 次代表)

【问题讨论】:

  • 您能否展示示例代码以使其在 NSIS 中工作?谢谢!

标签: google-chrome installation google-chrome-extension nsis


【解决方案1】:
!define PRODUCT_VERSION "1.0.0"
!define CRXNAME "extension.crx"
!define CRXID "qwertyuiopasdfghjklzxcvbnm"

SetOutPath "$INSTDIR"
File "${CRXNAME}"  
WriteRegStr HKLM "Software\Google\Chrome\Extensions\${CRXID}" "path" "$INSTDIR\${CRXNAME}"
WriteRegStr HKLM "Software\Google\Chrome\Extensions\${CRXID}" "version"     "${PRODUCT_VERSION}"
WriteRegStr HKLM "Software\Wow6432Node\Google\Chrome\Extensions\${CRXID}" "path" "$INSTDIR\${CRXNAME}"
WriteRegStr HKLM "Software\Wow6432Node\Google\Chrome\Extensions\${CRXID}" "version" "${PRODUCT_VERSION}"

【讨论】:

  • 我遇到了这些注册表项的问题。我在注册表中看不到它们。看起来另一个扩展使用了 HKEY_CURRENT_USER。在 HKEY_LOCAL_MACHINE 下有 SOFTWARE,而不是 Software。那应该有关系吗?我应该能够在 regedit 中看到这些条目吗?
【解决方案2】:

我能想到的唯一方法是在扩展程序所在的特定 URL 上为用户打开 Chrome。当然,事先有一些用户说明。 更邪恶的方法是为用户执行 SendKey 事件。取决于你愿意“与魔鬼共舞”多少;)

【讨论】:

  • 好吧,该应用程序不适合大型分发,仅供内部使用,可能还有 50 人以上,所以我会考虑你的想法。我虽然有一种更简单的方法,比如使用 Firefox,你有全局扩展、注册表安装等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多