InstallAnywhere制作java安装包

应用的便携性对于产品而言很重要。从外观看,如果开发好的应用能够打包,通过安装程序指导用户对开发产品的安装和配置,将大大提升应用客户的认同感。从公司本身看,如果能够较好的贯彻这种思想,无非对于实施产品化行为奠定一个良好的基础。大家试想,这样两方面将使得产品的部署更加快捷、有效。其中最为重要的一点就是,很多的产品经验都能够较好地得到积累和沉淀。

一,    工具概述
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的跨平台优势才得以实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Installanywhere打包javaweb项目 一 准备阶段 由于我们打包的是javaweb项目,实现的目标是在一台没有javaweb项目运行环境下,可以通过一键安装后执行我们的项目客户机上,那么,我们需要准备如下文件 1、jdk -- 可以直接将你本机下安装好的jdk中拷贝,如 2、Tomcat -- 由于客户可能是不懂软件的,那么我们就需要下载一个免安装解压版的Tomcat,直接去官网下载 3、Mysql -- 同理,下载免安装版的mysql数据库 二 预处理阶段 1、对Tomcat进行部分优化,具体根据情况而定,我这里做了适当优化 2、将要运行的项目打成war包 放入Tomcat下的webapps下,尽量保证你的项目开发中依赖的Tomcat和该Tomcat版本一直吧 3、往mysql目录下添加文件夹和文件,如: data : 存放数据库数据的,在后面的脚本中可能要用到,这里提前创建,避免脚本出 错 sql : 这里用于存放你从本地库中导出的数据库脚本.sql文件,具体也不一定会用到 ,主要看后面的脚本如何编写 my.ini: 这是windows下的配置文件,配置了mysql的信息,解压版中是没有该文件的 手动创建一个,内容可以为空,也可以不为空,放入些基本的配置,我这里是直接为空的 为了后面installanywhere动态插入配置方便 4、将jdk, tomcat, mysql全部放入一个文件夹下如: Install.bat : 该文件用于注册和启动Tomcat,mysql的服务 set Path=%SystemRoot%\system32 set JAVA_HOME=%1%\jdk set CATALINA_HOME=%1%\tomcat set mysql_home=%1%\mysql net stop mysql5 call %1%\mysql\bin\mysqld --remove mysql5 call %1%\mysql\bin\mysqld --install mysql5 sc config mysql5 start= auto net start mysql5 call %mysql_home%\bin\mysqladmin -h localhost -u root password 123 call %mysql_home%\bin\mysql -hlocalhost -uroot -p123 <%mysql_home%\sql\one.sql net stop mytomcat call %1%\tomcat\bin\service remove mytomcat call %1%\tomcat\bin\service install mytomcat sc config mytomcat start= auto net start mytomcat uninstall.bat : 该文件用于停止并注销删除服务 set Path=%SystemRoot%\system32 set JAVA_HOME=%1%\jdk set CATALINA_HOME=%1%\tomcat net stop mytomcat net stop mysql5 call %1%\tomcat\bin\service remove mytomcat call %1%\mysql\bin\mysqld --remove mysql5 start.bat : 用于手动启动服务 set Path=%SystemRoot%\system32 net start mytomcat stop.bat : 用于手动关闭服务 set Path=%SystemRoot%\system32 net stop mytomcat one : 这个是用于制作应用程序打开的快捷方式 是一个.url文件 -- one.url 1.ico : 图片文件,用于快捷方式和或安装文件的图标 三 installanywhere 制作 注:产品名称就是那个会在windows开始菜单栏显示的文件夹名字 添加四个环境变量:就是会添加到windows下的高级属性设置的那个环境变量那里 JAVA_HOME $USER_INSTALL_DIR$\jdk CATALINA_HOME $USER_INSTALL_DIR$\tomcat CATALINA_DIR $USER_INSTALL_DIR$\tomcat\bin PATH $USER_INSTALL_DIR$\jdk\bin;$USER_INSTALL_DIR$\mysql\bin;$USER_INSTALL_DIR$\tomcat\bin 接下来制作快捷方式和开始菜单栏中的选项 其中的程序快捷方式制作 [InternetShortcut] URL="http://localhost:8082/test" IconFile=$USER_INSTALL_DIR$$\1.ico HotKey=0 IconIndex=0 IDList= 开始菜单栏中的卸载菜单制作 动态修改配置文件 这里我们先将mysql的my.ini文件进行修改,因为这个文件中有两个属性的值是用户在选择安装目录的时候传进来的,所以要修改,但是,我的文件内容是空的,就直接插入配置文本 我的文本模板是: [client] port=3306 default-character-set=utf8 [mysqld] port=3306 character_set_server=utf8 #安装路径 basedir="$USER_INSTALL_DIR$\\mysql" #数据路径 datadir="$USER_INSTALL_DIR$\\mysql\\data" # 允许最大连接数 max_connections=200 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [WinMySQLAdmin] $USER_INSTALL_DIR$\bin\mysqld.exe 后面再来执行安装注册时的批处理命令 -- 其中Command Line: cmd /c $USER_INSTALL_DIR$\install.bat $USER_INSTALL_DIR$ cmd /c表示执行指定的命令并中断。 $USER_INSTALL_DIR$是传递给install.bat中%1%的参数。 并且,选中Options中的3个选项。 将该Execute Command移动到Panel: Install Complete前面。 配置安装安程序后自动打开页面 反安装:配置卸载批处理 -- 菜单Pre-Uninstall>,按钮Add Action>Execute Command>Add>。 Command Line:  cmd /c $USER_INSTALL_DIR$\uninstall.bat $USER_INSTALL_DIR$ 将该Execute Command移动到第一个。 选中Options中的3个选项。 放在倒数第二的原因是:表示要等到选择完需要卸载的项后再执行,避免用户点击取消,把服务给注销了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值