旧版便携式 Firefox 仅运行旧版便携式 Java 并忽略本地安装的 Java

旧版便携式 Firefox 仅运行旧版便携式 Java 并忽略本地安装的 Java

我有多个需要旧版浏览器和 Java 的系统。我需要便携式 Firefox 来运行便携式 Java JRE 版本,而不是操作系统上安装的 Java JRE。

这些遗留系统之一是较旧的 HP iLO 控制台屏幕,它需要 Java。

操作系统是Windows 10 企业版 21h2

我已在操作系统上本地安装了 Java 8 JRE 更新 202,供其他应用程序使用。

以下帖子对我取得今天的进步有所帮助:

如何在 Windows(7)中运行两个具有不同版本(1.6 和 1.7)的带有 Java 插件的浏览器(Firefox)?

https://portableapps.com/node/21946

便携式 Firefox 版本 3.6.28 安装位置:

C:\PortableApps\FirefoxPortablev3.6.28

可移植 Java JRE 6 Update 22 安装位置:

C:\PortableApps\CommonFiles\Java

对便携式 Firefox 和便携式 Java 所做的配置更改:

Moved to following files to temporary folder:

- npdeploytk.dll
- npjpi160_17.dll
- npoji610.dll
- npt.dll

From C:\PortableApps\CommonFiles\Java\bin\ 
To C:\PortableApps\CommonFiles\Java\bin\_backup

Moved the following file:

- npjp2.dll

From C:\PortableApps\CommonFiles\Java\bin\new_plugin\
To C:\PortableApps\CommonFiles\Java\bin\

Edited the file called "FirefoxPortable.ini" located in C:\PortableApps\FirefoxPortablev3.6.28  with following content:

[FirefoxPortable]
PluginsDirectory=..\CommonFiles\Java\bin 

以下内容将阻止 Firefox 便携版使用“MozillaPlugins”注册表项。

在便携式 Firefox 中打开一个新选项卡,然后输入网址关于:配置并继续前进。

然后搜索并将以下插件设置为FALSE

set plugin.scan.plid.all to FALSE

当我启动 Firefox 便携版并在插件中时,我只看到 Java 6 插件:

Firefox 插件

当我在便携版 Firefox 上启动 Java 应用程序时,它使用 Java 6 插件,但使用的是 Java 8 JRE 而不是 Java 6 JRE:

Java 控制台信息

这会导致应用程序失败,因为它不受 Java 8 JRE 更新 202 的支持,但我可以确认,如果 PC 仅有 Java 6 JRE 更新 22,Java 应用程序就可以正常运行。

由于某种原因,Java 8 JRE 更新 202 仍在使用。

是否可以强制 Firefox 便携版运行 Java 可移植 JRE 而不是本地安装的 Java JRE?

更新 1

以下 URL 显示可以在 JPortable 版本 7 上进行离线安装:

https://ryanwintaraga.wordpress.com/2013/02/10/how-to-install-jportable-offline/

我不知道这是否是进步,但由于我处于封闭的互联网网络中,因此我在个人电脑上安装了 JPortable 并复制了文件夹CommonFiles\Java以及其中的所有子文件夹Java对于我遇到问题的 PC。

因此我决定尝试版本 jPortable_7_Update_13_online.paf,并下载了 JRE 文件 jre-7u13-windows-i586

我将两个文件放在一个文件夹中(这允许离线安装),并在封闭的网络 PC 上完成了安装过程,并进行了与上述相同的文件更改,然后在浏览器上重新测试。

这里的区别是,我收到一条警告,指出我的 Java 已过期(这是一个好兆头,因为它第一次使用便携式 Java JRE 更新 13):

Java 警告

然后,在选择该选项后,我的应用程序会弹出一个窗口,一段时间后浏览器崩溃(之前没有警告或错误消息):

Java 小程序

更新2

经过更多的研究和测试,在我的个人电脑上安装 JPortable Java JRE 6 Update 22 并连接互联网,并将文件夹从个人电脑复制到另一台电脑(互联网访问被阻止)或安装(互联网访问被阻止的电脑)JPortable Java JRE 7 Update 13,并将 jre-7u13-windows-i586 文件放在同一个安装文件夹中,JPortable 两种方式都有效。

答案1

经过大量测试和研究,我发现了导致本地 Java 8 JRE 在 Java 6 插件中运行的问题。

如果您导航到以下文件夹(取决于您安装 JPortable 的方式):

C:\PortableApps\CommonFiles\Java\bin

选择文件 javacpl.exe(我建议右键单击并“以管理员身份运行”):

JPortable javacpl.exe 文件位置

在用户帐户控制消息上选择“是”:

用户帐户控制

现在 JPortable JRE 6 Update 22 控制面板应该会弹出在屏幕上:

JPortable JRE 6 Update 22 控制面板

选择 Java 选项卡并选择“查看...”:

Java 运行环境设置

现在您应该看到 JRE 的 JPortable 能够访问。

下一步很重要

您需要取消选中 Java 8 Update 202 或您已安装的任何程序的“已启用”复选框,然后选择“确定”

用户的 JRE 设置

然后选择“应用”:

应用您在 Java 控制面板上所做的设置

您可能会收到此警告,请选择“确定”

JPortable 发出的警告消息

现在,当我重新尝试在旧式便携式 Firefox 上运行 Java 应用程序时,它运行良好:

显示 JPortale 和 Java 控制台正在工作的屏幕截图

问题是我不知道安装在同一台电脑上的任何其他版本的 Java 是否有自己的 Java 控制面板设置存储在自己的文件夹中 - 我假设最新版本的 Java 将优先于安装在电脑上的所有旧版本的 Java,因此如果你在 Java 控制面板中为 Java 8 JRE Update 202 进行了更改,这会将其推送到其他版本的 Java-不是这种情况

我相信您仍然必须禁用旧式便携式 Firefox 在整个 PC 中搜索附加组件才能实现此功能。

相关内容