我用的installAnyWhere是6.1版本的,有关installAnyWhere的安装、破解,网上有很多,我是用自己写的 cracker破解的,如果不注册,生成的安装包每次都会提示“该安装包是用未注册的installAnyWhere创建的”,非常不爽。所以,最好破解 了再用。
网上有关installAnyWhere的使用,自己看了很久,都觉得不太明白,所以,自己摸索的几天,下面,就把我自己的使用的一些细节介绍给大家,如果你觉得对你有所帮助,那就是我最大的荣幸。
使用步骤:
一、修改本地化文件
installAnyWhere本身支持多种语言的本地化,包括中文。但缺省自带的简体中文文件中,几乎都是繁体中文,因此,如果你的安装包要支持简体中文安装的话,最好先把简体中文的本地化文件“简化”一下。
简化方法如下:
到installAnyWhere安装目录的resourcei18nresources目录下,找到custom_zh_CN文件,把其中的中文内容删除后重新输入简体的汉字,记得输入法要用简体中文的。
二、创建新的安装工程
打开installAnyWhere后,如下图所示:
选择“Create New Project”,选择“Basic Project Template”模版,选择“Save as”按钮,弹出保存新建工程的目录以及名称,名称的后缀为.iap_xml。
点击“Next”进入工程设置界面,也可以直接点击“Advanced Designer”进入高级设计界面。如果想对工程作一些高级的设置,就选择高级设计界面。
高级设计界面如下图所示:
从该界面中可以看到,有很多项设置,一级导航包括:Project、Installer UI、Organization、Files、Pre-Install、Post-Install、Pre-Uninstall、Post- Uninstall、Build。下面分别逐个介绍。
三、工程设置
进入高级设计界面的Projiect界面,其中包括了Info、Description、File Setting、Platforms、Locales、Rules、Config、Java。
1、Info设置
Info中主要设置工程的一些信息,包括安装的title、名称、产品名称、工程的存放位置、构建后的安装包存放位置等信息,如下图所示:
如无特殊情况,一般使用缺省设置即可。
2、Description设置
Description界面中设置安装包的产品可能写入注册表中的一些信息,包括:产品名称、ID、版本、以及支持、提供商等信息,如下图所示:
3、File Settings
该界面中主要设置安装过程中,被安装的文件的时间如何处理,你可以选择保留文件本身的时间,也可以设置为安装时的时间,还可以设置成指定的时间。该界面中还可以设置当文件已经存在时,如何提示或操作。一般,使用缺省设置即可。
File Settings的操作界面如下:
4、Platforms
我用的6.1版本的InstallAnywhere,支持三种操作系统平台:Mac OS X、Windows和UNIX。因此,Platforms设置界面中,你可以分别对这三种操作平台的缺省安装路径和缺省快捷方式进行设置。Windows平台的设置界面如下:
一般使用缺省设置即可。
5、Locales
Locales项设置安装包所支持的安装界面的语言。缺省是英文安装语言。只有选择了除英文之外的至少一种其他语言,安装包才会在安装开始时显示选择安装语言的界面。一般选择支持简体中文即可。操作界面如下:
在installAnyWhere 的其他的版本手册中都提及需要注意中文的问题,我在前面已经有说明。如果大家在使用中遇到中文显示有问题的话(尤其是在非windows操作平台上),也 很简单只要将”*locales”的文件夹中” custom_zh_CN”文件中的中文用UNICODE码代替就OK了,JDKBIN中提过了相关的工具native2ascii.exe运行后替换 原先的custom_zh_CN就OK了。
6、Rules
Rules项中可以配置多种安装规则,如安装前检查安装路径属性、安装平台或者其他自定义的规则。一般,我们会用到检查安装平台,如是否是指定的操作系统,如下图所示:
7、Config
“Config”界面“installer debug output”中有俩个文本框,大家可以在里面填上“console”,这样大家在安装文件生成后,调试安装时可以通过控制台来查看相关的提示信息。正是发布的话,清空即可。其他几项都可以使用缺省设置即可。
8、Java
如果需要安装VM的话,就需要注意VM的安装路径,而设置VM的安装路径,就在该界面中:
一般用缺省设置即可
四、安装界面
主要设置安装的界面相关信息,一般选择swing模式即可。该界面中,特别需要注意的就是图片,如果没有特别需要,最好使用默认的,否则,经常出现 找不到图片的问题。如果需要的话,最好在InstallAnywhere的resources目录中建立图片文件夹,然后使用该路径。其他使用缺省设置即 可。
五、组织
Organization界面下主要包含Install Set、Feathures、Components和Modules四个子界面,分别用来设置安装集合(如典型安装、最小化安装、自定义安装等)、特性 (如公共组件、帮助文档、应用程序等)、组建(要安装内容的各个组成部分)、模块(其他需要合并的模块)。在配置安装集合时,指定哪些特性在某个安装类型 时缺省选择被安装,而每个特性中具体包含哪些内容,是在组建中配置的。没有特殊需求的话,使用缺省设置即可。
六、文件
Files界面中,真正配置要安装的文件内容,也就是哪些内容要被添加到安装包里。缺省的操作界面如下图所示:
简单安装的话,只要把要安装的文件通过“Add Files”按钮添加近来即可,如下图所示:
添加文件后,效果图下图所示:
其他使用缺省设置即可。
七、预安装
Pre-Install界面比较重要,安装过程中的各种界面都在这里设置,如安装协议、安装路径、程序快捷、预安装摘要等。一般简单安装的话,使用缺省设置即可。缺省情况下,没有安装协议界面,如果需要的话,可以通过向导添加。
点击“Add Action”按钮打开选择action的界面,如下图所示:
切换到Panels界面,选择“Panel:License Agreement”条目,点击“Add”按钮,然后关闭选择action界面。这样就添加了安装协议的界面,如下图所示:
首先要选中刚刚添加的安装协议条目,通过中间的上下箭头移动安装协议条目到合适的位置,然后修改下面的Path,使其指定到你所使用的安装协议文件。目前只支持文本和htm俩中格式的协议文件。
八、安装后
Post-Install界面中配置安装完成后的操作,缺省会有俩个界面,一个是提示安装完成,另一个是重启操作系统,如下图所示:
如果安装完成后不需要重启操作系统,就选中“RestartWindows”,然后点击“Remove”按钮即可。
九、预卸载
Pre-Uninstall界面中设置卸载过程的交互界面和步骤,缺省有三个界面:卸载介绍、选择卸载类型、选择要卸载的feature,如下图所示:
其中的卸载类型与前面Organization中设置的install set对应,如install set中有多种安装类型,那卸载。也就有多种选择,否则就没必要选择卸载类型。卸载的feature也与organization中的feature对 应,如果前面没有配置,这里也就没必要配置该panel。
十、卸载后
Post-Uninstall界面也很简单,主要就是一个卸载完成的提示界面。缺省会有restart windows的步骤,如果不需要重启操作系统,可以直接remove掉restart windows的action。
十一、构建
Build界面中,主要设置要构建的安装包的目标平台以及是否在安装包中包含VM,如下图所示:
如果运行安装程序的目标机器上已经安装有VM,就可以选择安装包中不包含VM,否则,就要包含VM,否则,安装包不能执行。需要注意的是选择VM的版本,如果你的程序本身也需要VM运行环境的话,而且需要的VM版本较高,那就要从网上下载合适版本的VM。
依照上面的步骤,可以构建出基本功能的安装包了。后面将介绍一些特殊功能的安装包的制作,如多语言安装环境下的多语言的安装协议等。
由于InstallAnywhere制作出的安装包本身是基于java的,因此,如果目标计算机上没有安装java运行环境的话,就必须在build安装包,选择包含VM,否则,安装包不能运行。
如果你打包的内容本身是基于java的程序,那程序本身运新就需要java运行环境,因此,可以在安装说明可以明确安装条件:必须安装java运行环境。
如果用InstalalAnywhere打包非java程序,那你的安装包最好包含VM,否则,就必须先安装java运新环境,才能运行安装包。
下面说说本地化的问题。
在用InstallAnywhere制作安装包的过程中,locale的设置界面中,允许你选择多种语言。locale中的选择,决定了你的安装包在启动 安装时所提供的安装界面的语言选择。如果只选择了一种语言,那安装就不会出现选择安装语言的界面,只有选择了一种以上的语言,安装才会出现选择安装语言的 界面。
英文是InstallAnywhere缺省的语言,因此,只要你在Locale中选择了非英文的语言,就会出现安装语言的选项界面。
如果安装包配置了多语言安装的支持,那在安装过程中,一般都希望对应的安装界面、信息都是索选的语言,如选择了中文的话,那安装过程中的信息希望都是中文 的,如安装协议。也就是,如果选择中文安装的话,安装协议是中文的;如果选择英文安装的话,安装协议是英文的。这种情况,应该是大家都希望的。
具体操作步骤如下:
一、准备两种语言的安装协议文件:假设分别为license_en.txt和license_zh.txt
二、在工程的locale配置界面中选中简体中文
三、按照之前介绍的方法配置、构建工程,否则没有custom_zh_CN文件
四、打开安装工程目录下的custom_zh_CN文件,一般都在安装工程名+locale目录下,找到 “LicenseAgrAction.*.resourceName=”项,修改配置为你的中文安装协议文件名:license_zh.txt,*号的内 容与具体工程有关,是不同的代码
五、继续在custom_zh_CN文件中查找“LicenseAgrAction.*.resourcePath=”项,修改配置文license_zh.txt文件所在的绝对路径,如:d:\test\,要注意是路径
六、切换到InstallAnywhere高级设计界面,打开Files项,选中“User
Install Fould”,点击“Add
launcher”,这时会弹出对话框,询问你是否让InstallAnywhere自动搜索含有main方法的类,非java程序的话,可以选择取消。就会在文件树中添加“shortcut
destination fold”项,如下图所示:
选择中“shortcut destination fold”,点击“property”中的path项的下拉框,选择“DO NOT INSTALL”,如下图所示:
添加license_zh.txt文件到“DO NOT INSTALL”项中,并删除掉“Create LaunchAnywhere”,如下图所示:
七、构建工程即可。
这样,在安装时,选择中文的话,就会使用中文的安装协议。
缺省情况下,InstallAnywhere构建出的安装包是自解压的、可用于web方式安装的单文件的安装包,也就是,构建出的安装包可以自解压,可以 嵌入网页通过网页来安装。通常,这种方式的安装包,基本可以满足我们的需要,把这种安装包直接刻录到光盘也可以进行发行,只是光盘中的内容比较单一,如过 希望自己的发布光盘也像其安装光盘那样:里边包含很多文件,而这些文件本身就是要被安装的内容,但真正的内容又被隐藏在这些文件中,那该怎么办呢??
其实,只要选择InstallAnywhere的Build标签项中的Distribution中的“Build CD-ROM Installer”即可,如下图所示:
这样,就可以构建出可用于光盘刻录的发布内容了,这些内容一般存放在输出目录的CDROM_Installers目录下。缺省情况下,一个光盘的容量是 650M,如果内容超过650M,InstallAnywhere会自动把内容分隔到其他disk的。假如内容有700M,那构建出的CD-ROM的 disk1中可以包含650M的内容,而disk2中则包含其余的内容。在安装过程中,会自动提示你更换disk2。
每张disk的容量,可以单独设置,只要点击“Change Disk Space ans Name”按钮,就可以打开修改disk属性的界面,如下图所示:
其中的“Media Name”属性就是安装过程中提示你更换光盘的名称,而Mesia Size项中就是设置光盘容量大小的,切忌,其单位是byte。
在制作安装包的过程中,有时候我们也希望自己做的安装包稍微有点专业的感觉,比如安装时必须输入一个安装序列号什么的,这样,就给人的感觉不同了。 InstallAnywhere提供了这样的功能,只要进行简单的配置,就可以很快制作出一个需要序列号的安装包了。具体的配置步骤如下:
一、按照先前的说明构建基本安装工程
二、在预安装配置界面中,添加一个action,选择Panel中的get serial number,通过上下箭头移动到合适的安装顺序
三、选中刚刚添加的“get serial number”panel,点击下面的Configure Serial Number按钮,打开序列号生成配置界面,如下图所示:
有下列几点需要特别说明:
1、序列号个数必须大于等于产品个数
2、固定的字符串可以是前缀也可以是后缀
3、种子随机数最长9位,可以手工输入,但最好使用自动生成的
4、记得选择把生成的序列号保存到文件,否则很麻烦
5、如果一个产品,选择生成多个序列号,这些序列号都可以用来进行安装
四、保存安装工程,就可以在指定的目录下生成了序列号文件
五、build工程,生成新的安装包
这样,新的安装包就必须输入安装序列号才能完成安装,否则,不能继续安装