快速业务通道

通过CD-ROM分发Java Web Start应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
互联网连接,它将采用通常方式检查更新,然后启动应用程序。如果没有网络连 接,则应用程序以 CD 交付的标准启动。

当用户下次启动应用程序时,他们可以使用菜单或桌面快捷方式,而不再需要 CD。或者,用户可以通过页面上指向相同 URL/JNLP 文件组合的链接来启动应用 程序;也就是站点上的原始版本。

JVM 因素

整个过程中的一个问题是,上述命令需要 JVM 的支持,而在少数一些情况下 ,系统中默认可能没有安装 JVM 或者 JVM 在系统路径中不可用;因此,需要采 取一些额外措施来定位可用的 JVM。此外,当用户插入 CD 时,安装程序应该能 启动并检查 JVM 是否已存在。检查 JVM 的流程如下所示:

检查 JVM(针对安装程序)。

如果未检测到 JVM,则安装它。

启动安装程序,显示通常的许可信息。

安装目标 JVM(如果应用程序需要)。

导入 JWS 缓存。

启动 JWS 应用程序。

通过CD-ROM分发Java Web Start应用程序(2)

时间:2011-07-08 Sun / Luan O''Carroll

JWS -import 选项要求最低的 JWS 版本为 Java 5,因此,即便应用程序有可 用的 JVM,但此 import 选项仍然需要一个较新版本的 JVM 支持。其次,import 进程需要花费一些时间,并且必须在应用程序启动之前完成,而许多普通安装程 序都难以实现这种延时的执行。

考虑到这些因素,构建一个自定义启动应用程序来执行这些步骤是有必要的。

运行安装

由于 JWS -import 命令将完成安装流程中涉及的大部分实际工作,因此启动 应用程序的主要任务就是使用合适的命令找到并启动 JVM,然后通过 GUI 让用户 了解安装状态。

查找 JVM

在 Windows 中,可以在系统注册表的 HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime Environment 键下面查找 JVM。该键可能包含多个值,因此应用程序将迭代这些条目并尝试查找最新版本且 可用的 JVM。

以下方法接受最小和最大版本号作为参数,并尝试查找 JVM 的路径:

private String getInstalledPath( int majorMin, int minorMin, int revMin, int majorMax, int minorMax, int revMax ) { String installedPath = null; int latestVersion = 0; String keyRoot = "HKEY_LOCAL_MACHINESOFTWAREJavaSoft" + "Java Runtime Environment"; Vector results = getRegEntries( """ + keyRoot + "" /s" ); int numEntries = results.size(); for ( int i = 0; i < numEntries; i++ ) { String key = results.get( i++ ).toString(); int pos = key.indexOf( "Java Runtime Environment" ); if ( pos > 0 ) { pos += "Java Runtime Environment".length() + 1; String version = key.substring( pos ); String parts[] = version.split( "[._]" ); int majorVersion, minorVersion, revision; majorVersion = Integer.parseInt( parts[ 1 ] ); if ( parts.length > 3 ) minorVersion = Integer.parseInt( parts[ 2 ] ); else minorVersion = 0; if ( parts.length > 4 ) revision = Integer.parseInt( parts[ 3 ] ); else revision = 0; if ((( majorVersion == -1 ) || ( majorVersion >= majorMin )) && (( majorVersion == -1 ) || ( majorVersion <= majorMax ))) { if ((( minorMin == -1 ) || ( minorVersion >= minorMin )) && (( minorMax == -1 ) || ( minorVersion <= minorMax ))) { if ((( revMin == -1 ) || ( revision >= revMin )) && (( revMax == -1 ) || ( revision <= revMax ))) { // Prefer the neweset acceptable version int thisVersion = majorVersion * 10000 + minorVers

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号