我经常在个人机器上部署 Firefox。除了显而易见的手动操作之外,我还希望能够配置 Firefox 安装程序以自动包含我指定的附加组件选择。
这可能吗?
答案1
我发现这篇文章告诉您如何使用它自定义 Firefox 安装程序和捆绑扩展:http://mike.kaply.com/2010/06/18/customizing-the-firefox-installer-on-windows/
在 Windows 上自定义 Firefox 安装程序
我经常被问到的一个问题是如何在 Windows 上自定义 Firefox 安装程序以及如何将扩展程序与其捆绑在一起。过去几天,我花了很多时间学习有关这个主题的知识,所以我想借此机会重新介绍如何在 Windows 上使用 Firefox 安装程序。我将以问答的形式进行,希望大家能得到他们常见问题的答案。
标准免责声明:在任何情况下,您都不应使用此信息创建自定义 Firefox 安装并将其重新分发给组织以外的任何人。如果您想了解更多信息,可以查阅 Mozilla 基金会商标政策。
使用 Firefox 安装程序需要哪些工具?
您需要的主要工具是 7-Zip。我安装了 MozillaBuild 包,它为我提供了所需的所有工具。尽管 Firefox 安装程序是基于 NSIS 的,但我们不需要使用 NSIS 进行大多数自定义。最后我会稍微谈谈您需要 NSIS 来做哪些事情。
如何解压 Firefox 安装程序?
Firefox 安装程序是使用 7-Zip 创建的。因此,您可以获取任何以 EXE 结尾的 Windows 安装程序并将其解压。Firefox 下载页面上的任何 Windows 安装程序都可以使用。下载 EXE 后,创建一个临时目录并输入:
7z x “Firefox 安装程序 3.6.3.exe”
这将解压安装程序的内容,以便我们可以修改它。
如何将我的扩展程序与 Firefox 安装程序捆绑在一起?
将扩展与 Firefox 安装程序捆绑在一起只需将其放在正确的位置即可。然后,当我们最后打包安装程序时,它将与 Firefox 一起安装。对于大多数扩展,正确的位置是 nonlocalized/extensions。在该目录中,创建一个与要随 Firefox 预安装的扩展的 ID 相对应的子目录。然后将 XPI 解压到该目录中。您可以通过查看 XPI 中的 install.rdf 文件来找到 ID。您可以将任意数量的扩展添加到安装程序中。
我可以将哪些有用的扩展与 Firefox 捆绑在一起
我创建了两个扩展,它们可以创建有趣的东西与 Firefox 捆绑在一起。第一个是 CCK Wizard。CCK Wizard 可用于更改 Firefox 中的各种默认设置,以便您可以自定义它以在组织中部署。第二个是 Rebrand。Rebrand 允许您更改 Firefox 中使用的内部品牌。
我可以更改安装程序中使用的名称吗?
是的,您可以更改安装程序中使用的名称。为此,您需要在解压安装程序时创建的本地化目录中创建一个名为 distribution 的目录。在此目录中创建一个名为 setup.ini 的文件。它如下所示:
[品牌] BrandFullName=Mike 的浏览器 BrandShortName=浏览器
BrandFullName 将用于替换“Mozilla Firefox”,而 BrandShortName 将用于替换“Firefox”。
我可以更改安装程序中使用的图像吗?
是的,您可以更改安装程序中使用的图像。在放置 setup.ini 的同一目录中,您可以放置两个文件,modern-wizard.bmp 和 modern-header.bmp。第一幅图像对应于安装程序第一页上的大图像。第二幅图像对应于安装程序后续页面中使用的小图像。您可以使用链接的图像作为参考,以了解制作这些图像的尺寸。
如何重新打包安装程序?
要重新打包安装程序,首先需要压缩所做的更改。输入:
7z a -r -t7z app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
这将创建一个名为 app.7z 的文件,其中包含我们所做的所有更改。现在我们需要将该文件与其他一些文件打包在一起以创建最终的 EXE。我们需要文件 7zSD.sfx,您可以从 Mozilla 下载。我们还需要一个名为 app.tag 的文件,您可以创建它。它看起来像这样:
;!@Install@!UTF-8! Title="Mozilla Firefox" RunProgram="setup.exe" ;!@InstallEnd@!
一旦我们有了这些文件,我们就可以运行以下命令:
复制/B 7zSD.sfx+app.tag+app.7z our_new_installer.exe
将它们全部打包为 EXE。不要忘记 /B。它表示文件是二进制文件,因此 Windows 不会在文件上放置 EOF 标记。
我可以更改安装程序中设置的默认值,例如安装目录或复选框吗?
目前,除非重建安装程序,否则无法更改安装程序中的默认设置。此问题有一个漏洞,已发布补丁,希望 Firefox 4 能修复此问题。
我可以让我的全新品牌 Firefox 与现有的 Firefox 良好共存吗?
有几种方法可以做到这一点。最简单的方法是在启动 Firefox 时使用 -no-remote 参数。这会导致您启动的 Firefox 无法连接到当前正在运行的 Firefox。执行此操作时,您必须使用 -P 参数指定不同的配置文件。或者,您可以更改 Firefox 使用的内部标识符。然后它将被视为完全不同的浏览器。如果您选择这样做,您应该知道您将不会收到更新,并且会有其他副作用。这不是一个应该掉以轻心的决定。此外,您的配置文件也将存储在不同的位置。如果您想这样做,请查看非本地化目录中的文件 application.ini。您要更改的变量是 Vendor 和 Name。再次强调,您自行承担风险。
如果我愿意用 NSIS 重建安装程序,我该怎么做?
如果您愿意重建安装程序,您可以更改“添加/删除程序”列表中条目的名称以及安装目录和其他默认值。这是一项不简单的工作,因为一些必需的文件是作为 Mozilla 构建过程的一部分构建的,并且在构建树中不可用。如果您真的有兴趣这样做,您可以联系 Kaply Consulting,我们可以讨论一下。
我希望这能解答大家的一些疑问。如果大家还有其他问题,请随时提问。