我有多个需要旧版浏览器和 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 上启动 Java 应用程序时,它使用 Java 6 插件,但使用的是 Java 8 JRE 而不是 Java 6 JRE:
这会导致应用程序失败,因为它不受 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):
然后,在选择该选项后,我的应用程序会弹出一个窗口,一段时间后浏览器崩溃(之前没有警告或错误消息):
更新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 JRE 6 Update 22 控制面板应该会弹出在屏幕上:
选择 Java 选项卡并选择“查看...”:
现在您应该看到 JRE 的 JPortable 能够访问。
下一步很重要
您需要取消选中 Java 8 Update 202 或您已安装的任何程序的“已启用”复选框,然后选择“确定”
然后选择“应用”:
您可能会收到此警告,请选择“确定”
现在,当我重新尝试在旧式便携式 Firefox 上运行 Java 应用程序时,它运行良好:
问题是我不知道安装在同一台电脑上的任何其他版本的 Java 是否有自己的 Java 控制面板设置存储在自己的文件夹中 - 我假设最新版本的 Java 将优先于安装在电脑上的所有旧版本的 Java,因此如果你在 Java 控制面板中为 Java 8 JRE Update 202 进行了更改,这会将其推送到其他版本的 Java-不是这种情况
我相信您仍然必须禁用旧式便携式 Firefox 在整个 PC 中搜索附加组件才能实现此功能。