[转[使用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 OrganizationOrganization
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 InstallInstall
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 BuilderBuild

使用InstallAnywhere7.1制作Java exe程序安装包的更多相关文章

  1. 利用InstallShiled 10.5制作AE应用程序安装包

    [转]利用InstallShiled 10.5制作AE应用程序安装包 作者:3SNEWS 社区ESRI(ArcGIS)版版主:zhaoxiang_whuhttp://www.3snews.net/bb ...

  2. 制作Linux下程序安装包——使用脚本打包bin、run等安装包

    制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了.一般这个后部分的文件是个压缩 包,那样,就能够打包很多文件了,在脚本中解压出来即可. ...

  3. 基于DevExpress的Winform程序安装包的制作

    在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...

  4. 使用WinRar软件制作程序安装包

    之前我写过使用好压软件打包程序,见随笔: 使用好压(HaoZip)软件打包EverEdit制作安装程序 - Fetty - 博客园http://www.cnblogs.com/fetty/p/4907 ...

  5. 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)

    VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...

  6. C#软件winform程序安装包制作及卸载程序制作

    使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就 ...

  7. 用Inno Setup制作WEB程序安装包

    原文 用Inno Setup制作WEB程序安装包 最近做了一个WEB程序的安装包,我把制作的过程做个介绍,贴出源码给大家做个参考 看看inno 的脚本 [Setup] AppCopyright=tes ...

  8. Mac OS平台下应用程序安装包制作工具Packages的使用介绍

    一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Ins ...

  9. [程序安装包制作] Advanced Installer 备忘

    原文:[程序安装包制作] Advanced Installer 备忘 Product Information - Product Details 这个重点是Product Version.讲这个之前, ...

随机推荐

  1. Python3基础系列-基本入门语法

    本文简单地介绍了python的一些基本入门知识,通过对这些知识的了解,大家可以写一些简单的代码,同时也为后面深入理解打下基础.本文的主要内容如下: 值和类型 值,即value,通常有:1,2,3.14 ...

  2. [HDU5361]In Touch

    [HDU5361]In Touch 题目大意: 有\(n(n\le2\times10^5)\)个点,每个点有三个属性\(l_i,r_i,c_i\).表示若\(|i-j|\in[l_i,r_i]\),\ ...

  3. 不让Editplus保存时java文件时生成.bak文件

    EditPlus是一个强大的编辑工具,不单单是编辑文字强大,很多的刚开始学习编程语言的初学者会选择它,例如 html,js,php,java.但是却遇到一个问题,就是每次编辑完后点保存就会出 现bak ...

  4. 喵哈哈村的魔法考试 Round #19 (Div.2) 题解

    题解: 喵哈哈村的魔力源泉(1) 题解:签到题. 代码: #include<bits/stdc++.h> using namespace std; int main(){ long lon ...

  5. DBProxy

    DBProxy/USER_GUIDE.md at master · Meituan-Dianping/DBProxy   https://github.com/Meituan-Dianping/DBP ...

  6. Linux和类Unix系统上5个最佳开源备份工具

    一个好的备份最基本的目的就是为了能够从一些错误中恢复: 人为的失误 磁盘阵列或是硬盘故障 文件系统崩溃 数据中心被破坏等等. 所以,我为大家罗列了一些开源的软件备份工具. 当为一个企业选择备份工具的时 ...

  7. 偷懒啦!button多了,这样写既简洁又高效

    在日常的项目中,我最喜欢用button了,但是button多了,写起来又枯燥又费时,今天学到一方法,绝对简单高效! 看看以前: 看吧,这还只是声明,接下来还有: 等等……,是不是很麻烦?现在找到新方法 ...

  8. [Asp.net core]bootstrap分页

    摘要 一直在用前后端分离,在一个后台管理的页面中,尝试封装了一个辅助类. 类 /// <summary> /// 分页viewmodel /// </summary> /// ...

  9. Socket编程的UDP与TCP,应用在哪些地方

    随着网络技术飞速发展,网速已不再是传输的瓶颈,UDP协议以其简单.传输快的优势,在越来越多场景下取代了TCP,如网页浏览.流媒体.实时游戏.物联网. 1,网速的提升给UDP稳定性提供可靠网络保障 CD ...

  10. Amazon.com 美国亚马逊 直邮中国 手把手教程(转)

    什么值得买已经发布2014最新版美亚直邮攻略 海淘攻略:美国亚马逊 直邮服务 手把手教程(2014最新版) ,调整幅度较大,值友们可以移步到新攻略中查看. 相比德国.英国亚马逊,美国亚马逊的大部分商品 ...