应用的便携性对于产品而言很重要。从外观看,如果开发好的应用能够打包,通过安装程序指导用户对开发产品的安装和配置,将大大提升应用客户的认同感。从公司本身看,如果能够较好的贯彻这种思想,无非对于实施产品化行为奠定一个良好的基础。大家试想,这样两方面将使得产品的部署更加快捷、有效。其中最为重要的一点就是,很多的产品经验都能够较好地得到积累和沉淀。
一, 工具概述
InstallAnywhere 由Zero G公司(http://www.zerog.com )开发。Zero G公司在多平台软件部署和维护领域是佼佼者。其代表产品有InstallAnywhere和PowerUpdate。其使用的简单、高效,并在提供跨平台支持的同时支持29种语言(包括简体中文)赢得了很多客户的青睐。其主界面如图1所示。
图1 主界面
用户安装完InstallAnywhere 后,可以通过启动菜单,或者主界面左下角的“Show Help”按钮找到“InstallAnywhere 5.5 Enterprise User Guide”,如图2所示。
图2 InstallAnywhere提供的用户指南
因为InstallAnywhere涉及的面也很广(其功能强大、上手简单),在这里主要是结合本人在参与使用InstallAnywhere开发安装程序过程中遇到的一些问题、解决办法以及相关开发技巧和大家分享(主要面对初学者,或者说没有使用过InstallAnywhere的新手)。具体的各个细节还望各位参考InstallAnywhere提供的用户指南。
二, 非Java应用的部署
由于基于InstallAnywhere的安装程序需要JVM的支持。因此,如果目标部署环境没有提供JVM,则对于非Java应用的部署安装程序制作需要自己提供JVM,如图3所示。
图3 安装程序Bundle VM(选中“With VM”对应的复选框)
其他的步骤和Java应用的部署差不多。本文这里将Java应用分为两种,J2SE应用和J2EE应用。主要是因为J2EE应用还会涉及到应用服务器,其安装制作会比较复杂。
三, J2SE应用的部署
如果程序本身是基于J2SE的应用,则我们可以考虑将InstallAnywhere提供的JVM就作为J2SE应用运行所需的JVM。这其中有一点需要读者注意,即JVM的安装文件夹位置和名称。通过图4可以订制您的特定需求。
图4 定制JVM的安装位置和名称
四, J2EE应用的部署
对于J2EE应用的安装部署就会比较复杂。其中,涉及到与JVM、数据库系统、J2EE应用服务器以及J2EE应用本身的交互。
这一部分内容,我后面会分专题具体给出阐述,因为内容比较多。
五, 使用Tips
5.1 JVM的选用
为了提供中文的安装向导,InstallAnywhere默认提供的VM并没有提供国际化支持,比如中文支持,这种情况下开发者必须去:http://www.zerog.com/downloads_02c.html 下载提供国际化支持的VM,或者自己制作(具体细节,请参考InstallAnywhere 5.5. Enterprise User Guide)。
图5 InstallAnywhere安装的VM Packs
5.2 Customer Code的开发
很多时候,我们需要开发自己的向导面板。具体步骤如下:
第一,选择一个开发工具,比如JBuilder、Eclipse、JCreator等等。
第二,将IAClasses.zip加到classpath中。
第三,如果还使用到其他的class lib,也根据步骤2加入到classpath中。
第四,开发具体的Customer Code。
第五,借助于InstallAnywhere将自己开发的Customer Code加入到目标工程中,编译、测试Customer Code。
5.3 调试信息的输出
在使用InstallAnywhere过程中,如果需要查看安装程序做了哪些工作,比如,加载了哪些类、使用的JVM的版本和位置、调试信息以及错误信息等内容。在这种情况下,就需要借助于InstallAnywhere提供的功能。如图6所示,开发者可以将调试信息输出到文件或者控制台。比如,将错误信息和其他调试信息输出到控制台,只需要填入“console”。
图6 调试信息的输出
这样一来,在安装编译好的安装程序后,将同时弹出一个控制台,供用户查看安装日志。如果安装日志很多,可以调整控制台的“屏幕缓冲区大小”,比如调整图7中屏幕缓冲区大小的高度(最大可以为,5999),这样使得先前的日志信息不至于被冲掉。
图7 调整屏幕缓冲区大小
5.4 中文乱码的处理
由于InstallAnywhere处理本地化方面不是很完善。有时候,开发人员的误操作不小心引入很多中文乱码。在这种情况下,需要调整本地文件,比如处理中文的“custom_zh_CN”文件。具体办法如下:
首先,关掉InstallAnywhere,然后找到“custom_zh_CN”文件。
其次,然找到乱码位置。
第三,借助于InstallAnywhere或者其他工具,将相应的中文Unicode替换原来的乱码。
最后,重新打开InstallAnywhere,编译、安装打包程序,看看是否正常。
其中,在这些过程中有时候需要手工调整“custom_zh_CN”文件中一些内容的顺序,这种情况下,一定要保证“custom_en”和“custom_zh_CN”文件所含的英文项一致。
六, 结论
通过本文内容,您对InstallAnywhere应该有了一些了解。使用InstallAnywhere几乎可以完成任何支持JVM的安装程序。从非JAVA应用、J2SE应用到J2EE应用的安装制作都可以很好的完成。这其中,在很大程度上都是借助了Java的跨平台优势才得以实现。
本文地址:http://com.8s8s.com/it/it15092.htm