将浏览器与旧 Java 版本一起打包/隔离?

将浏览器与旧 Java 版本一起打包/隔离?

我需要为三个不同的网页提供旧的 Java 版本(1.4、1.5 和 1.6),这些网页需要这些特定过时版本中的 Java 插件。

我的环境是 Windows Server 2012 终端服务器。我已经联系了这三个 Web 应用程序的供应商,但他们不会更新它们以支持当前的 Java 版本。然而,这些应用程序对我们的业务至关重要 - 我们根本无法替换它们。

我现在正在考虑一个解决方案,它基本上执行以下操作:
将 Firefox 与所需的 Java 版本(如 Firefox portable)一起打包。此打包版本应限制为仅允许打开一组有限的 URL(那些奇怪的 Web 应用程序)。应该可以同时运行这些“打包”的 Firefox 和最新的常规浏览器版本。

是否有任何开箱即用的解决方案或工具可以创建这样的浏览器和特定(旧)浏览器版本的包?

我的要求是

  • 用户应该能够在同一终端服务器上同时启动具有不同 Java 插件版本的不同浏览器版本
  • 与旧 Java 版本一起打包的浏览器应该仅限于那些奇怪的旧 Web 应用程序(以避免使用过时的浏览器/Java 版本访问互联网时的安全风险)

我已经尝试使用 Firefox Portable,但不允许同时运行 Firefox 的便携版和常规版(同一终端服务器上只能同时运行一个 Firefox 二进制文件)。也不可能同时运行多个不同版本的便携版 Firefox。

答案1

要运行便携式 Firefox 的一个单独实例,请复制Firefox便携版( 在\FirefoxPortable\其他\来源\) 进入\Firefox便携版(其中火狐便携版居住),并在Firefox便携版允许多个实例=true.请注意便携似乎没有所需的先前版本。

另一个选择是使用XUL运行器下载并解压 xulrunner-1.8.0.4.en-US.win32.zip(例如目录:\xulrunner)。 还,下载(链接来自XULRunner 入门)并解压一个示例 xulrunner 应用程序(helloWorld),该应用程序可以用作模板(例如目录:\helloWorld)。

在 C:\helloWorld 中,此示例唯一需要的文件夹/文件是 chrome、defaults、application.ini 和 chrome.manifest。

在 C:\helloWorld\application.ini 中,设置最大版本=49.0

<caption label= ...在 C:\helloWorld\chrome\content\hello.xul 中,删除/替换从到 的部分,包括</description>以下内容:<browser src="http://internalJava_1.5_Site" type="content" flex="1"/>请参阅元素(XUL)链接窗户浏览器细节。

在 C:\helloWorld\defaults\preferences\prefs.js 中添加(在末尾并添加一个空行作为最后一行):

pref("plugin.scan.SunJRE", "49.0");
pref("plugin.scan.plid.all", false);

将 NPJPI150_22.dll 和 NPOJI610.dll 从 Java JRE 1.5 install_directory\bin 复制到 C:\xulrunner\plugins。

在 CMD 提示符下输入:C:\xulrunner\xulrunner.exe C:\helloWorld\application.ini。如果一切顺利,请关闭应用程序/网站,删除/替换 C:\xulrunner\plugins 中两个复制的 DLL 为另一个 Java 版本(例如 Java 1.4)中的相应 DLL,http://internalJava_1.5_Site在 C:\helloWorld\chrome\content\hello.xul 中替换为相应的 Java 1.4 站点,然后检查。

稍后您可以克隆 xulrunner 和 helloWorld 文件夹两次,进行必要的源=三个 hello.xul 文件中的更改,并将正确版本的 DLL(各两个)复制到三个 \plugins 文件夹中。

或者,在 C:\Users\Public\Desktop\ 和/或 C:\ProgramData\Microsoft\Windows\Start Menu\ 中创建三个快捷方式来运行这三个版本。例如C:\xulrunner\xulrunner.exe C:\helloWorld\application.ini

要锁定 xulrunner/xulrunner 应用程序,请在 C:\xulrunner\defaults\pref\xulrunner.js 中添加(并将最后一行留空):

pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");

接下来,在 C:\xulrunner 中创建 mozilla.cfg 并添加:

//
lockPref("plugin.scan.SunJRE", "49.0");
lockPref("plugin.scan.plid.all", false);
lockPref("plugin.scan.4xPluginFolder", false);
lockPref("plugin.scan.Acrobat", "99.0");
lockPref("plugin.scan.Quicktime", "99.0");
lockPref("plugin.scan.WindowsMediaPlayer", "99.0");
lockPref("javascript.enabled", false);
lockPref("network.proxy.no_proxies_on", "internalJava_1.5_Site"); 
lockPref("network.proxy.autoconfig_url", "");
lockPref("network.proxy.type", 1);
lockPref("network.proxy.ftp", "127.0.0.1");
lockPref("network.proxy.ftp_port", 80);
lockPref("network.proxy.gopher", "127.0.0.1");
lockPref("network.proxy.gopher_port", 80);
lockPref("network.proxy.http", "127.0.0.1");
lockPref("network.proxy.http_port", 80);
lockPref("network.proxy.socks", "127.0.0.1");
lockPref("network.proxy.socks_port", 80);
lockPref("network.proxy.socks_version", 5);
lockPref("network.proxy.socks_remote_dns", false);
lockPref("network.proxy.ssl", "127.0.0.1");
lockPref("network.proxy.ssl_port", 80);

锁定(策略)文件about:config 条目(偏好设置)。要解决设置问题,请在锁定偏好或者偏好注释掉该设置/行。

附言:记事本++在保留正确编码的同时,对于查看/编辑各种文件非常有帮助。

XULRunner 提供什么XULRunner 提示XULRunner 常见问题解答应用程序配置文件超音速巡航XUL 模板入门XUL 结构元素(XUL)属性(XUL)属性 (XUL)事件(XUL)方法 (XUL)XUL 教程

相关内容