dev*_*ile 5 registry installer nsis external google-chrome-extension
我正在从事与此页面相关的工作
我编写了一个NSIS脚本,试图自动安装chrome扩展.(为什么?因为我们的扩展可以通过复选框提供另一个产品安装流程,然后如果用户选择我们要添加的扩展,它将使用NSIS静默安装在用户chrome浏览器上自动安装)
我尝试了很多场景,我需要帮助,在谷歌网站上,他们说你可以做到这一点
他们还说"使用首选项文件"有一个错误(Windows注意:在修复错误41902之前,您可能希望使用Windows注册表而不是首选项文件.)
提醒:自动安装的扩展名称为外部扩展
要通过注册表添加Google Chrome扩展程序:
这是我尝试过的(使用NSIS脚本):
如果我添加一个注册表项它将安装扩展,但如果用户手动卸载,chrome会打开黑名单标记,并且无法使用任何其他脚本重新安装扩展.剩下的唯一方法是用户手动安装.最糟糕的是,如果用户手动安装并手动卸载(它将关闭黑名单标志),并且当重新启动chrome时,它将自动重新安装扩展(无需任何用户操作),因为注册表项仍然存在.
如果我在启动或关闭浏览器时删除注册表项,通过一种怪异的方式(在crx中使用dll(NPAPI)),Chrome将在浏览器重新启动时自动删除扩展目录.
如果我设法在用户卸载扩展时删除注册表项.我们被列入黑名单,因此在用户通过手动安装和卸载扩展程序关闭黑名单标志之前,自动安装程序将不再起作用.
如果我在"C:\ Users \(用户名)\ AppData\Local\Google\Chrome\User Data\Default\Extensions \(extensionID)\(版本)_0 \(我的文件在这里)"中创建目录,我遇到了很麻烦因为chrome会在重新启动浏览器后立即删除我的文件.
有没有人遇到过这个问题,需要做些什么.我将尝试使用JSON文件,但在修复bug之前,Registry是唯一的方法.
感谢有时间阅读所有这些的人!任何帮助将不胜感激,谢谢!
[ 2013-11-11 ]
\n[这个问题的答案即将过时,所以这里有一个更新的答案。]
根据Chromium 博客上最近的一篇文章,在不久的将来自动安装 Chrome 扩展程序将不会成为一种选择:
\n\n\n\n\n从 [2014]1 月开始,在 Windows 稳定版和测试版渠道上,我们\xe2\x80\x99 将要求所有扩展程序都托管在 Chrome 网上应用店中。
\n
作为替代方案,开发人员和供应商将能够使用内联安装功能:
\n\n\n\n\n如果您的扩展程序当前托管在 Chrome 网上应用店之外,您应该尽快迁移它们。这不会对您的用户产生影响,他们仍然可以使用您的扩展程序,就像没有发生任何变化一样。如果您愿意,您可以将扩展程序从 Web Store 列表中隐藏起来。如果您自己的网站有专用的安装流程,则可以利用现有的内联安装功能。
\n
所以,基本上,您需要做的是:
\n\n内联安装如何工作:
\n\n\n\n\n您网站上要进行内联安装的 HTML 页面必须在引用用户可以安装的项目的部分中包含一个或多个标记。每个标签必须具有以下格式:
\n
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/itemID">\n
Run Code Online (Sandbox Code Playgroud)\n\n\n\n\n要真正开始内联安装,必须调用 chrome.webstore.install(url, successCallback, failureCallback) 函数。该函数只能在响应用户手势时调用,例如在单击事件处理程序中;如果不是,则会抛出异常。
\n
(强调我的)
\n\n有关内联安装功能的更多信息。
\n 归档时间: |
|
查看次数: |
11209 次 |
最近记录: |