是否可以在 Windows 7 中构建一个安装程序(或程序),可以将扩展安装到 firefox(如果机器上安装了浏览器)。
或者至少通过在 windows7 中通过命令行提供安装 firefox 扩展的命令来帮助我。
(“firefox addon.xpi”命令在 linux 中可用)
谢谢
是否可以在 Windows 7 中构建一个安装程序(或程序),可以将扩展安装到 firefox(如果机器上安装了浏览器)。
或者至少通过在 windows7 中通过命令行提供安装 firefox 扩展的命令来帮助我。
(“firefox addon.xpi”命令在 linux 中可用)
谢谢
在 Firefox 中安装扩展非常简单。
您需要使用 .xpi 文件作为参数启动 Firefox.exe
官方文档说你应该使用-install-global-extension开关(不知道为什么,没有它它也应该工作,至少在旧版本中是这样)。
firefox.exe -install-global-extension "<path>\extension-file.xpi"
详细信息:http: //kb.mozillazine.org/Command_line_arguments
如果您想创建具有此功能的整个安装程序,让我们在 NSIS 中说:
Function InstallFirefoxExt
InitPluginsDir
SetOutpath "$PLUGINSDIR\"
File "extension-file.xpi" # Extract file to temporary directory
Exec '"<path>\firefox.exe" -install-global-extension "$PLUGINSDIR\\extension-file.xpi"'
FunctionEnd
如果您使用其他安装系统,则非常相似。
要在 Windows 上安装 Firefox 扩展,您只需在 Windows 注册表中添加一个值。这可以通过打开.reg
文件或reg.exe
使用正确的参数运行来完成,添加它的自定义 Windows 应用程序也很简单。添加到HKEY_CURRENT_USER
可以在没有高级权限(没有 UAC 提示)的情况下完成,添加到HKEY_LOCAL_MACHINE
(对于所有用户)需要管理员权限。
我建议不要使用-install-global-extension
,因为这会将扩展添加到 Firefox 应用程序目录 - 您必须知道 Firefox 的安装位置,始终需要管理员权限,并且更新/卸载扩展并非易事。此外,firefox addon.xpi
将安装到默认用户配置文件中 - 除了-install-global-extension
这样做的缺点之外,不考虑计算机上可能存在更多用户配置文件(或将来创建)的事实。
可以通过读取此注册表项来检测 Firefox 路径:
"HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\20.0.1 (en-US)\Main" "PathToExe"
在我的 PC 上,这个 PathToExe 看起来像“C:\Program Files\Mozilla Firefox\firefox.exe”,所以这正是您需要的值。
然而,这有点棘手,因为密钥包含 Firefox 版本 20.0.1 (en-US) 要首先获取此版本,请阅读此密钥:
"HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox" "CurrentVersion"
这将返回20.0.1 (en-US)
只需将所有部分连接在一起:
"HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\" + <CurrentVersion> + "\Main"
得到整个钥匙。