我正在开发一个系统映像过程,在此过程中 Chrome 和 Firefox 均会静默安装。我正在尝试找到一种方法,将 Firefox 设置为系统默认用户(因此任何登录的新用户都会将 FF 设置为默认浏览器)和当前用户的默认浏览器。
Firefox 文档说这应该可以实现这一点,但它不起作用:
firefox.exe-silent-setDefaultBrowser
使用进程监视器,我可以看到上面的命令对注册表做了一堆操作,但是在我运行它之后,我的默认浏览器尚未设置为 Firefox。
如果我打开 Firefox 并转到工具>选项>高级,然后单击将 FF 设置为默认浏览器”按钮,它就可以起作用。
问题是我不想每次部署新笔记本电脑时都必须执行手动步骤,因此我需要找到某种方法从命令行完成同样的事情。
我尝试使用进程监视器来查看单击该按钮时 Firefox 设置了哪些值,以便我可以以不同的方式手动复制它们,但是当我单击 FF procmon 中的设置默认按钮时,我确实看到 firefox.exe 进行了超过 250 次注册表写入,而我真的不想追踪它们全部。
有人能帮我弄清楚为什么 firefox.exe -silent -setDefaultBrowser 不起作用,或者提供另一种方法将 FF 设置为系统/用户的默认浏览器吗?
答案1
注册由helper.exe
C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe /SetAsDefaultAppGlobal
为了完整起见,如果有人只想更改当前用户的默认浏览器
C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe /SetAsDefaultAppUser
答案2
我自己还没有尝试过,但是您可以设置HKEY_CLASSES_ROOT\http\shell\open\command
以完成此操作。