如何通过编程或命令行触发 Firefox 中的更新检查?

如何通过编程或命令行触发 Firefox 中的更新检查?

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

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

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

答案1

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

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

答案2

FireFox 的后续版本自带静默更新服务 - Mozilla 维护服务

参考: https://wiki.mozilla.org/Windows_Service_Silent_Update

答案3

虽然我还没有弄清楚如何通过命令行自动检查更新,但我确实找到了一种方法,可以通过批处理自动检查您识别的最新版本是否在工作站上。我在工作中使用它来更新大约 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")

相关内容