使用InstallAnywhere7.1制作Java exe程序安装包

 
使用InstallAnywhere7.1制作Java exe程序安装包
对于已经完成的Java应用程序开发项目,从商业化角度看,应该制作成安全稳定的安装程序包来保证产品的安全和企业的利益。现在市面上比较高效的商业化工具有installshield,installanywhere,install4j等,installshield适合C,C++,Delphi,PB,VB等;而后两者适合Java应用程序的打包制作。下面主要以InstallAnywhere7.1为例,详细说明如何来给一个Java应用程序制作安装包。
Java应用程序项目开发测试完成后,企业需要将此打包存档(即jar文件),并制作成商业化安装程序。
 
各版本的JDK都提供jar实用程序,其基本语法如下:
jar <option string> [JAR] [manifest file] [input files]
option string用于指定jar实用程序执行的操作,因此必须指定(下面列出各参数及使用方法)。
c 创建新的或空的压缩档
v
列出目录表
x
解压所有文件
x file
解压指定文件
f
指出“我准备向你提供文件名”。若省略此参数, jar 会假定它的输入来自标准输入;或者在它创建文件时,输出会进入标准输出内
m
指出第一个参数将是用户自建的详情表文件的名字
v
产生详细输出,对 jar 做的工作进行巨细无遗的描述
O
只保存文件;不压缩文件(用于创建一个 JAR 文件,以便我们将其置入自己的类路径中)
M
不自动生成详情表文件 , 大多情况不会用到。
下面是调用 jar 的一些典型方法:
jar cf myJarFile.jar *.class
用于创建一个名为 myJarFile.jar JAR 文件,其中包含了当前目录中的所有类文件,同时还有自动产生的详情表文件。
jar cmf myJarFile.jar myManifestFile.mf *.class
与前例类似,但添加了一个名为 myManifestFile.mf 的用户自建详情表文件。
jar tf myJarFile.jar
生成 myJarFile.jar 内所有文件的一个目录表。
jar tvf myJarFile.jar
添加 “verbose” (详尽)标志,提供与 myJarFile.jar 中的文件有关的、更详细的资料。
jar cvf myApp.jar audio classes image
假定 audio classes image 是子目录,这样便将所有子目录合并到文件 myApp.jar 中。
 
一般来说,在Java应用程序开发的过程中都会用到第三方库文件,在制作安装包时最好将企业自主开发的和第三方库分离开。因此,在制作成jar文件之前,先写一个mainfest文件(用户自建详情表单文件,后缀名是.mf),在制作jar文件的过程中用于指出一个使用验证信息说明相关jar文件的文件(即当前项目使用到的第三方jar库文件)。  
图1  Manifest文件的编写
 
如果使用JBuilder(JBuilder2005)开发Java应用程序项目,可以通过界面来操作生成所需要的jar档案文件:
1.       打开需要制作jar文件的工程;在当前工程下,在Object Gallery中(通过File—)New打开),选择Archive—〉Application;

               图2  JBuilder2005 Object Gallery

2.       点击OK之后,进入各参数设置界面:


               图3  JBuilder2005 Archive Builder Step 1

3.       按照提示一步步填写,选择需要打包的文件。


               图4 JBuilder2005 Archive Builder Step 2

4.       在Archive Builder的第三步中,不添加项目相关的第三方jar包,都选择Exclude All(如果使用JBuilder2005制作单个可执行程序,应都选Include All)。

              图5 JBuilder2005 Archive Builder Step 3

5.       添加先前已经定义好的mainfest文件或在Step4中创建:

              图6 JBuilder2005 Archive Builder Step 4

6.       余下的四个步骤读者可以自己根据Archive Builder的提示进行下去,非常简单,这里就不再多述。
7.       完成之后,再对其进行编译,便可得到相应得jar文件。
                           图7 编译jar文档
 
制作好档案文件(Jar文件)后,打开InstallAnywhere7.1,新建一个project,进入Advanced Designer(对于比较简单的Java应用程序,可以使用Project Wizard来制作,这里就不作说明,下面的步骤都在Advanced Designer下进行):
图8 InstallAnywhere7.1 Enterprise Edition Advanced Designer

1.    :基本的安装程序信息设置,如信息、描述、文件设置、平台、区域、规则等等。一般都能看懂,并且很容易正确填写。
2.    Project:定义安装程序的安装界面。如splash screen,background,frameUI等最直观的界面。还可以增加额外的Panel,如License,Password,Serial Number等,这些都在“Installer Panel Addition”和“Install Progress Panel”中定义。还可以定义在安装进行时的闪动画面Billboards;还可以增加安装帮助,给用户提供必要的安装信息。


                图9 Advanced Designer Installer UI

Installer UI
3.    定义java应用程序需要安装的组件。可以设置好典型的安装组件(Typical),也可以让用户自定义组件;这些在Install Sets,Features,Components及Modules中设置。

                 
图10 Advanced Designer Organization
Organization
4.    :这个模块主要定义安装程序运行时的各个执行动作,如introduction、License Agreement、Serial Number、Choose Folder等。是对Install UI模块中定义的各Panel进行解释和执行,所以这里的panel数量和顺序一定要和Install UI中定义的相一致。

                 图11 Advanced Designer Pre-Install

Pre-Install
5.    :指定需要打包的文件,在这个模块中定义的路径就是安装程序执行完成后装在本地PC上的程序内部路径。通过Set Classpath和Add Launcher指定程序入口,还可添加快捷方式在程序组中。

                 图12 Advanced Designer Install
Install
6.    :定义程序安装完成后的工作,如添加动态配置、注册表更改及重启计算机等动作,对于更高级的使用还可以对各Action进行脚本编写,具体的脚本编写规则及变量参数等,可以参考InstallAnywhere帮助文档。

                图13   Advanced Designer Post-Install

Post-Install
7.    :类似Pre-Install,定义卸载前的动作,如选择要卸载的模块等。
                                     
                 图14 Advanced Designer Pre-Uninstall

Pre-Uninstall
8.    :类似Post-Install,添加卸载完成后的操作,如重启计算机,添加相关提示等。

                 图15 Advanced Designer Post-Uninstall

Post-Uninstall
9.    :上述的各个模块都已经定义完成之后,可以选择不同的平台,VM版本,需不需要VM,以及跟踪日志,MSI文件生成等。最后,就可以用InstallAnywhere生成我们所需要的安装程序了。

                   图16 Advanced Designer Builder
Build
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个选项。 放在倒数第二的原因是:表示要等到选择完需要卸载的项后再执行,避免用户点击取消,把服务给注销了
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值