我在这里看到了一些其他问题(例如,这和这),以及网络上的许多其他页面,提供了安装和同时运行多个版本的 Firefox 的各种策略。所有这些策略都很麻烦和/或脆弱。
它们基本上都可以归结为两种方式之一,每种方式都有各自的问题。
使用便携式 Firefox。
- 问题:便携式 Firefox 只有一个配置文件。要使用多个配置文件,您必须安装一个单独的程序它会创建一个单独的配置文件,并且必须单独启动(即,您不是使用普通的 Firefox 配置文件管理器来管理配置文件)。
将第二个版本安装到其自己的目录中。
- 问题:所有此类安装版本都使用相同的 appdata 目录,这意味着它们看到的配置文件相同。您必须确保使用专门为其指定的配置文件启动每个版本,否则可能会修改或损坏另一个版本正在使用的配置文件。这意味着对任何已安装版本使用多个配置文件同样是一个危险的提议,因为如果您不小心选择了错误的配置文件,一个版本可能会影响另一个版本。
我想要的是一种真正、真正、诚实地安装多个独立的Firefox 的版本。我说的独立是指它们绝不应该以任何方式相互了解、交互或干扰。我应该能够使用版本自己的配置文件管理器为任何版本创建多个配置文件,并且这些版本应该具有单独的应用程序数据目录,这样与任何版本关联的整个配置文件集就与与任何其他版本关联的整个配置文件集完全分开。
根据我上面提到的两种方法,我可以设想两种方法来实现这一点:
如果有一个真实的便携式 Firefox,那会很棒。我说的“真正的”是指便携式版本,它实际上具有正常安装版本的所有功能,特别是配置文件管理器和无需使用额外的 PortableApps 基础架构层即可添加/删除/选择配置文件的能力。
如果我可以安装普通版本的 Firefox 但为其提供不同的 appdata 目录,那么它就不会破坏任何其他版本的任何配置文件。
有没有什么方法可以做到这两点,或者让我陷入这样一种境地:我安装了多个版本的 Firefox,每个版本都可以完成正常安装的版本所能做的所有事情,但完全独立地完成所有操作,而不会对碰巧安装的任何其他版本产生任何影响?
答案1
回答这个问题有点晚了,但无论如何我还是想说一下。
我一直在使用多版本 + 多配置文件从 2.0 版或 3.0 版开始与 FF 共舞。额外的好处是配置文件可以在不同的计算机和不同的 Windows 版本之间移植。让我们看看基础知识:
安装任意数量的 FF 版本,每个版本都在其自己的目录中。在 Win7 下,'C:\Program Files (x86)' 不再是最佳选择(由于 UAC),但即便如此,我仍然继续使用它(出于 WinXP 的坏习惯)。例如,在这台机器上,我有:
- C:\Program 文件(x86)\Firefox_26
- C:\Program 文件 (x86)\Firefox_31
- C:\Program 文件(x86)\Firefox_38
有一个专门的文件夹来存储你的 FF 配置文件集合,每个配置文件一个子文件夹(希望以任何有意义的方式命名,以避免混淆)。同样,在这台机器中我有:
- D:\TJ\Fake_subst_I\FF_profiles\Profil_12.0_Main
- D:\TJ\Fake_subst_I\FF_profiles\Profil_12.0_PH
- D:\TJ\Fake_subst_I\FF_profiles\Profil_19.0_Main
- D:\TJ\Fake_subst_I\FF_profiles\Profil_26.0_Main
- D:\TJ\Fake_subst_I\FF_profiles\Profil_31.0_discard_sessions
- D:\TJ\Fake_subst_I\FF_profiles\Profil_31.0_Main
- D:\TJ\Fake_subst_I\FF_profiles\Profil_38.0_discard_sessions
进入每个安装目录并进行firefox.exe 的多个副本(OFC 有不同的名称 – 再次强调,这些名称很有意义!)例如...
- C:\Program 文件(x86)\Firefox_31\firefox(v31_test_restored_profile).exe
- C:\Program 文件(x86)\Firefox_31\firefox(v31_txyz).exe
- C:\Program 文件(x86)\Firefox_31\firefox(v31_txyz_discard_sessions_bypass_Avast).exe
- C:\Program 文件(x86)\Firefox_31\firefox(v31_zyxba_bypass_Avast).exe
C:\Program 文件(x86)\Firefox_31\firefox.exe
- 注意:普通的“firefox.exe”:当我想使用“默认”配置文件(主要是零附加组件)测试某个特定版本的 FF 时我会使用它。
接下来需要对细节进行大量的关注;并不是很复杂,但需要大量的复制粘贴和仔细的搜索和替换:有一个.BAT 文件集合这将使某个给定版本的 FF 与某个给定的配置文件文件夹匹配。我有一些非常长且复杂的 .BAT,我现在不会完整发布,但以下是一些关键元素:
set dir_applic=C:\PROGRA~2\FIREFO~3 REM REM .BAT is happier with old DOS 8.3 filenames (when 'normal' filenames contain spaces) REM set dir_profil=I:\FF_profiles\Profil_38.0_discard_sessions set ff_exe=firefox(v38_txyz_discard_sessions_bypass_Avast).exe set coman=start %dir_applic%\%ff_exe% -no-remote -profile %dir_profil%\ REM REM I don't like and don't use parm '-P' for 'profile NAMES' REM echo %coman% pause REM REM ... the echo+pause lets you SEE the actual command expansion before execution REM %coman% REM REM the cooked-up command has just been executed. REM
- 如果您注意到变量“dir_profil”的内容与配置文件文件夹的路径不完全匹配,这是因为遗留的可移植性问题潜入了我的结构中。这是与所回答的问题无直接关系但为了完整起见,我会事先声明我的 .BAT 文件版本还包含以下命令:
设置 real_drive=D 设置 fake_drive=I 替换 %fake_drive%:%real_drive%:\TJ\Fake_subst_%fake_drive% REM ...这样.BAT 实际上就会促使 FF 查看 D: 的子文件夹,正如我所说:
上述设置允许您同时运行多个版本+配置文件的组合(只要可用 RAM 允许,就可以使用 OFC)。
现在,对于每个配置文件,您需要确保以下所有内容有效;否则,必然会发生 BORK,不仅在特定的 PROFILE 文件夹中,而且在特定的 INSTALL 文件夹中。您已收到警告!
- 菜单工具/选项/高级/更新:“从不检查更新”。
- 永远不要手动检查 FF 更新。再说一遍——绝不。
- 在
about:config
:扩展.更新.已启用=错误的 - 手动检查附加组件更新无论何时您觉得有需要;建议您事后检查附加组件管理器中的“查看最近更新”列表,以了解每次更新了哪些附加组件以及每个附加组件做了哪些更改(可能是不必要的麻烦)。
沉重受到推崇的作为一个胶水对于整个策略来说:
- 联邦航空管理局添加在 -https://addons.mozilla.org/en-US/firefox/addon/febe/ (它允许实用和智能的配置文件备份 - 手动、自动、计划、逐项和/或一体化)
或多或少推荐(不要让“安全专家”知道这一点),取决于您的(不良)浏览习惯:抵制拥有 FF 所有最新版本的诱惑。您必须将每个版本安装在其自己的目录中,并且还要有一个新的配置文件目录来匹配。
当你感到冲动时要获得全新的 FF 版本,您必须遵循以下步骤:
- 从 Mozilla.org 下载新版本(再次强调,不要使用任何“更新”功能)
- 创建一个新的安装文件夹
- 在新创建的文件夹中安装新的 FF 版本,但不要运行它!
- 运行您一直在使用的最后一个 FF 版本(从 .BAT 文件 OFC 开始)
- 在之前的 FF 版本上,更新所有附加组件
- 运行所述先前 FF 版本的完整 FEBE 备份(它将生成一个优化的 .ZIP 文件,实际上名为“whatever.FBU”)
- 创建一个新的空文件夹,用于包含新安装的 FF 版本的 FF 配置文件
- [选修的]使用 7z 解压“whatever.FBU”文件(FEBE 压缩的配置文件备份)并将其所有内容毫不留情地转储到新创建的空配置文件文件夹中。笔记: 此处的“可选”是指:要么您执行此操作,以获得旧配置文件的完整和更新版本,要么您不执行此操作,开始使用全新的空白配置文件。两种操作均可,具体取决于您希望新配置文件的用途 - 对于空白配置文件,FF 将在首次使用时自动填充其基本必需元素。
- 将新安装的 FF 版本中的“firefox.exe”文件复制到其相同的目录中,现在有一个有意义的名称(以匹配新的配置文件夹名称和用途)
将您之前的 .BAT 文件克隆到新文件中,并仔细替换以下变量的内容:
dir_applic (if containing spaces, use its 8.3 DOS notation) dir_profil ff_exe
运行新克隆和编辑的 .BAT 文件,以便新安装的 FF 版本中重命名的 firefox.exe 将引用新填充的 PROFILE 文件夹(同时 OFC 完全忽略并保留以前的 FF 版本及其每个相应的配置文件)
- 这是关键时刻FF 将检查所有附加组件的兼容性,禁用其中一些,推荐其他一些的新版本等等。
- 当您在最新个人资料中完成按摩附加组件后,请转到下一个项目!
自从FEBE 的设置包含目标文件夹对于个人资料备份,你现在应该更改与之前的值不同,因此从现在开始任何新的 FEBE 备份都将存储在与之前 FF 版本的备份不同的文件夹中。
生成两个 FEBE 备份:一个是分项备份,另一个是全部备份。验证两个备份集是否最终都位于新的目标文件夹中(即,不与以前的配置文件版本组合中的备份放在一起)。
在某处创建并测试一个快捷方式,指向新测试的 .BAT 文件。
松一口气,和/或责怪自己经历了如此复杂和麻烦的过程。
欢呼并祝你好运!
于 2015 年 7 月 5 日进行编辑,以澄清 OP 在对我上述建议的解决方案的评论中提出的一些问题:
A. 如果我“运行各种 firefox_xxx.exe 文件之一而不在命令行上指定配置文件”... 它会 [尝试] 运行我的 Windows 用户的“默认”FF 配置文件,即位于“C:\Users\myusername”内的配置文件。结果将是随机的,取决于运行默认配置文件的当前 FF .exe 是哪个版本,以及尝试在同一个默认配置文件上运行的上一个 FF .exe 是哪个版本。请记住,在我的方案中:
- 如果没有合适的 .BAT 文件,我的各种 firefox_xxx.exe 文件都无法运行;
- 我的默认 FF 配置文件仅用于测试目的,例如将更干净的 FF 环境与我的带有数十个附加组件的典型环境之一进行比较,并不适合经常使用。
B. 在我看来,“检查更新”按钮不应该被按下。但是,假设按下该按钮,则大致会发生以下情况:
- 假设我正在运行一个特定的 .BAT 文件,该文件调用 FF 31 的安装,并结合了为 FF 31 定制的特定配置文件:
- 该更新实际上会将位于“C:\Program Files (x86)\Firefox_31”中的 FF 版本更新为 FF 39,包括原始 firefox.exe 和该安装目录中存在的所有支持文件;
- 同一安装目录中重命名的 firefox.exe“克隆”将保留在 v31,并且任何尝试运行这些可执行文件(现在由一组支持文件包围,这些文件现在都已更新到 FF 39)都可能会引发错误,或者根本无法启动浏览器。
- 更新还将扫描 .BAT 文件指向的配置文件目录,验证和禁用适合与 v39 一起运行的附加组件,并且很可能使该配置文件目录无法在将来与其专门定制的原始 v31 一起使用;
- 我安装的所有其他 FF 版本(每个版本位于特定的安装目录中)都将保持不变;
- 我所有其他现有的配置文件目录都将保持不变,包括为 FF 31 制作的任何其他配置文件目录;
- 例如,如果在对 FF 31 进行不必要的更新之后,我运行特定的 .BAT 文件来调用我的 FF 38 安装,再加上为 FF 38 定制的特定配置文件,一切都将保持原样并完美运行;
- 另一方面,如果我现在尝试运行另一个调用 FF 31 的 .BAT 文件,再加上一个也为 FF 31 量身定制的不同配置文件,我可能会得到不可预测的结果——因为,虽然这个不同的配置文件目录仍然会作为“v31”配置文件完整无缺,但 FF 31 的 INSTALL 目录现在包含完整的 FF 39 安装,以及保留在 v31 的克隆 .exe。在这种情况下,这个 .BAT 文件将调用其中一个“剩余”的 v31 .exe。
C. 正如我希望上面所证明的那样,您的陈述“如果更新一个安装会影响其他安装......”是不正确的,因此您的结论“安装不是完全独立的”是无效的。
D. 您链接到的 lockpref 方法旨在用于有“管理员”的环境,该管理员需要阻止“普通用户”的不良行为。另一方面,我的解决方案是由极客为自己使用而创建的构造,因此它不仅假设严格和谨慎的使用参数,而且还假设没有其他用户可能会因粗心使用而破坏它。
答案2
我不知道是否可以在同一个系统上安装不同的 Firefox,但我遇到了类似的问题,这是我的解决方法:
下载Firefox 配置文件管理器(它是一个独立的应用程序)并根据需要创建任意数量的配置文件。您可以任意选择要安装每个配置文件的目录。最好(但不是强制性的)为配置文件指定一致的名称。
在桌面上,为您刚刚创建的每个配置文件创建一个 Firefox 链接(快捷方式)。
对于每个链接,
right-click
在其上选择Property
一个,然后在Target
以下行后面的字段中:"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -p "profile_name"
profile_name
使用您在创建配置文件时选择的名称来更改该部分。不是目录的名称。你完成了。
正如我所说,您最终将拥有运行多个配置文件的同一个 Firefox 安装,但在这种情况下,优点是您可以独立使用它们,甚至不必记住每个配置文件的名称及其功能。您只需单击桌面上的快捷方式,Firefox 就会负责为每个配置文件创建一个全新的实例(即每个firefox.exe
实例的一个新进程)。这意味着您还可以同时一起运行它们,从任务管理器终止一个,重新打开它并执行任何您想做的事情。
我一直使用这个“技巧”,它从来没有给我带来问题或数据丢失。