2013-05-10 65 views
2

是否可以在Windows 7中构建安装程序(或程序),该安装程序可以安装Firefox的扩展(如果浏览器安装在机器上)。在windows中安装firefox exetension的程序?

或至少可以通过提供命令在Windows7中通过命令行安装Firefox扩展来帮助我。

( “火狐addon.xpi” 命令在Linux中提供)

谢谢Firefox扩展

回答

3

安装非常简单。

你需要与你的.xpi文件来启动Firefox.exe作为参数

的官方文档说,你应该使用-install全局扩展开关(不知道为什么,也应该工作,没有它,至少在旧版本中是这样)。

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 

如果使用其他安装系统,它是非常相似。

+0

谢谢。上述命令给出错误“firefox.exe不被识别为内部或外部命令,可操作程序或批处理文件”。如果我用完整路径替换firefox.exe,它工作正常。所以我需要一个命令来获取已安装的Firefox的路径/运行Firefox的路径。 – Mmh 2013-05-24 12:49:24

+0

是的,你需要获得firefox的完整路径 - 例如来自注册表。 – Slappy 2015-06-27 05:39:01

+0

如何在不打开新的Firefox窗口的情况下安装扩展? – 2015-08-06 09:40:38

1

要在Windows上安装Firefox扩展,您应该只需add a value to the Windows registry。这可以通过打开.reg文件或使用正确的参数运行reg.exe来完成,一个定制的Windows应用程序添加它也将是微不足道的。添加到HKEY_CURRENT_USER可以完成没有高级权限(没有UAC提示),添加到HKEY_LOCAL_MACHINE(为所有用户)需要管理员权限。

我建议不要使用-install-global-extension,因为它会将扩展添加到Firefox应用程序目录中 - 您必须知道Firefox的安装位置,始终需要管理员权限,更新/卸载扩展是非平凡的。此外,firefox addon.xpi将安装到默认的用户配置文件中 - 除了-install-global-extension的缺点之外,这并不考虑计算机上可能存在更多用户配置文件(或将来创建)的事实。

0

Firefox的路径可以通过读取此注册表项被检测:

"HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\20.0.1 (en-US)\Main" "PathToExe" 

在我的电脑这个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" 

让整个键。