如何以编程方式或命令行触发Firefox中的更新检查?


9

是否有firefox.exe的命令行开关或“about:”URL,它将强制进行更新检查或至少显示“帮助/关于”对话框,该对话框检查更新并告知您是否正在运行最新版本?

一个网站声称“about:”网址与菜单相同 救命 - > 关于 ,但事实并非如此。

我构建了一个程序来自动更新我的机器上的各种程序,大多数程序都有命令行工具来检查更新。 Windows更新有 wuauclt.exe,Java有 jucheck.exe。对于某些应用程序,我甚至可以自动化界面,但在Firefox中很难,因为主窗口标题是不可预测的(它取决于哪个网页是活动的),并且所有Firefox窗口似乎都使用完全相同的窗口类名称。

Answers:


4

诀窍是下载部分更新(.MAR)文件并通过命令行运行更新程序。

查看详细文章 软件更新:手动安装MAR文件 在MozillaWiki。它解释了从中获取MAR文件的来源,这也是您可能想要自动化的内容,因为链接结构良好/规范化,以及执行安装程序的步骤。



1

虽然我还没有弄清楚如何通过命令行自动检查更新,但我确实找到了一种方法来自动检查您确定的最新版本是否通过批处理在工作站上。我在工作中使用它来更新~200个工作站。在我写这篇文章时,33.1.1是最新版本,但您可以根据需要进行修改。我检查版本,然后如果需要更新工作站,我运行我已保存在本地网络上的.exe存根。

对于XP,它是:

echo Checking Firefox
Reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "Firefox" | find "Mozilla Firefox 33.1.1"
IF %ERRORLEVEL% == 0 (echo You have Firefox 33.1.1) ELSE (echo Installing Firefox 33.1.1 & "\\PATH\TO\FILE\Firefox Setup Stub 33.1.1.exe")

对于Windows 7,它是:

echo checking Firefox
Reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "Firefox" | find "Mozilla Firefox 33.1.1"
IF %ERRORLEVEL% == 0 (echo You have Firefox 33.1.1) ELSE (echo Installing Firefox 33.1.1 & "\\PATH\TO\FILE\\Firefox Setup Stub 33.1.1.exe")
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.