【发布时间】:2011-05-04 18:10:31
【问题描述】:
我正在从事与此页面相关的工作
我编写了一个 NSIS 脚本,它试图自动安装一个 chrome 扩展。 (为什么?因为我们的扩展可以通过复选框提供另一个产品安装流程,那么如果用户选择要添加的扩展,它将使用 NSIS 静默安装自动安装在用户 chrome 浏览器上)
我尝试了很多场景,我需要帮助,在谷歌网站上,他们说你可以做到这一点
- 使用首选项 JSON 文件
- 使用 Windows 注册表
他们还说“使用首选项文件”有一个错误(Windows 注意:在修复错误 41902 之前,您可能希望使用 Windows 注册表而不是首选项文件。)
提醒: 自动安装的扩展称为外部扩展
- 所以我尝试了“使用 Windows 注册表”
通过注册表添加谷歌浏览器扩展:
- 添加此键:“HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\Extensions(我的扩展 id)”
- 将“路径”与 .crx 的路径一起添加
- 在扩展版本中添加“版本”
这是我尝试过的(使用 NSIS 脚本):
-
如果我添加注册表项 它将安装扩展程序,但如果用户手动卸载,chrome 会打开黑名单标志,并且无法使用任何其他脚本重新安装扩展程序。剩下的唯一方法是用户手动安装。最糟糕的是,如果用户手动安装和手动卸载(它将关闭黑名单标志),并且当 chrome 重新启动时,它将自动重新安装扩展程序(无需任何用户操作),因为注册表项仍然存在。
如果我在启动或关闭浏览器时删除注册表项,通过一种怪异的方式(使用 crx 中的 dll(NPAPI)),chrome 将在浏览器重新启动时自动删除扩展目录。
如果我在用户卸载扩展程序时设法删除了注册表项。我们被列入黑名单,因此在用户通过手动安装和卸载扩展程序关闭黑名单标志之前,自动安装程序将不再工作。
如果我在 "C:\Users\(username)\AppData\Local\Google\Chrome\User Data\Default\Extensions\(extensionID)\(version) 中创建目录_0\(我的文件在这里)",我遇到了很多麻烦,因为chrome一重启浏览器就会删除我的文件。
有没有人遇到过这个问题,需要做什么。 我将尝试使用 JSON 文件,但在错误未修复之前,注册表是唯一的方法。
感谢任何有时间阅读所有内容的人! 任何帮助将不胜感激,谢谢!
【问题讨论】:
-
我刚刚尝试使用 JSON 文件,它的行为与注册表完全相同。行为完全相同。它只是“外部扩展”的不同来源。
标签: installation registry google-chrome-extension external nsis