2008-01-30
InstallAnyWhere自动化制作安装包的知识
利用Install from Manifest Action隔离文件的变化
发现InstallAnyWhere提供了一个名为Install from Manifest的Action来解决安装包内会有频繁文件变更的情况。使用方法为:
1. 在工程中只添加了安装操作相关联的文件。运行平台添加了需要建立快捷方式的文件(如startup.bat文件)和需要安装以后进行文件内容修改的文件。
2. 建立要拷贝的文件内容列表,可以是目录的形式。如运行平台的文件只需要下面一行来表示:
D,$IA_PROJECT_DIR$/resource/src/,./
其中,"D,"表示这一行对应的是一个目录。文件则为"F";"$IA_PROJECT_DIR$/resource/src/"对应源目录,"./"对应这些文件要在安装后拷贝到什么地方,"./"表示拷贝到用户安装时选择的安装目录的根目录下。
3. 添加一个Install from Manifest的action。选择它的Manifest File为刚才编写的文件。
4. 如果刚才的文件列表中包含了在安装包工程中指定的文件,则在此action的最下方选择Never overwrite。
此Action的详细用法可以参考帮助内对应的文档。
这样,如果安装包内有文件新增、删除了,不用再修改安装包的工程文件,直接build即可。
利用Ant来build安装包
InstallAnyWhere的工程的build过程可以设置为ant任务,用ant来构建生成安装包。这需要生成多个安装包的场景来说很方便。具体的做法为:
1. 将installanywhere安装目录下的iaant.jar放置到ant的lib目录下。
2. 编辑build.xml文件。其中定义任务的语句如下,其中指定了installanywhere的安装目录、安装包工程的位置、要生成的安装包的位置、要Build出来的操作系统等。
<taskdef name="buildinstaller" classname="com.zerog.ia.integration.ant.InstallAnywhereAntTask"/>
具体的任务为
<target name="buildOne">
<buildinstaller
IAlocation="E:\Program Files\Macrovision\InstallAnywhere 7.1 Enterprise"
IAProjectFile="..\..\InforSuite.iap_xml"
InstallerStdErrRedirect="C:
console.txt"
InstallerStdOutRedirect="C:
console.txt"
AutoPopulateLabels="false"
BuildOutputLocation=".\OutPut\"
BuildLinuxWithVM="true"
BuildLinuxWithoutVM="false"
BuildHPUXWithVM="false"
BuildHPUXWithoutVM="false"
BuildAIXWithVM="false"
BuildAIXWithoutVM="false"
BuildSolarisWithVM="false"
BuildSolarisWithoutVM="false"
BuildNamedUnixWithVM="false"
BuildNamedUnixWithoutVM="false"
BuildWindowsWithVM="true"
BuildWindowsWithoutVM="false"
BuildMacClassicWithVM="false"
BuildMacClassicWithoutVM="false"
BuildMacOSX="false"
BuildPureJava="false"
/>
</target>
具体的设置可以参考帮助中对应的文档。
和ant集成后,可以利用ant做一些其他的操作,如zip文件的解压、文件的拷贝、文件内容的修改等,可以让安装包的制作自动化程度更高。
发现InstallAnyWhere提供了一个名为Install from Manifest的Action来解决安装包内会有频繁文件变更的情况。使用方法为:
1. 在工程中只添加了安装操作相关联的文件。运行平台添加了需要建立快捷方式的文件(如startup.bat文件)和需要安装以后进行文件内容修改的文件。
2. 建立要拷贝的文件内容列表,可以是目录的形式。如运行平台的文件只需要下面一行来表示:
D,$IA_PROJECT_DIR$/resource/src/,./
其中,"D,"表示这一行对应的是一个目录。文件则为"F";"$IA_PROJECT_DIR$/resource/src/"对应源目录,"./"对应这些文件要在安装后拷贝到什么地方,"./"表示拷贝到用户安装时选择的安装目录的根目录下。
3. 添加一个Install from Manifest的action。选择它的Manifest File为刚才编写的文件。
4. 如果刚才的文件列表中包含了在安装包工程中指定的文件,则在此action的最下方选择Never overwrite。
此Action的详细用法可以参考帮助内对应的文档。
这样,如果安装包内有文件新增、删除了,不用再修改安装包的工程文件,直接build即可。
利用Ant来build安装包
InstallAnyWhere的工程的build过程可以设置为ant任务,用ant来构建生成安装包。这需要生成多个安装包的场景来说很方便。具体的做法为:
1. 将installanywhere安装目录下的iaant.jar放置到ant的lib目录下。
2. 编辑build.xml文件。其中定义任务的语句如下,其中指定了installanywhere的安装目录、安装包工程的位置、要生成的安装包的位置、要Build出来的操作系统等。
<taskdef name="buildinstaller" classname="com.zerog.ia.integration.ant.InstallAnywhereAntTask"/>
具体的任务为
<target name="buildOne">
<buildinstaller
IAlocation="E:\Program Files\Macrovision\InstallAnywhere 7.1 Enterprise"
IAProjectFile="..\..\InforSuite.iap_xml"
InstallerStdErrRedirect="C:
console.txt"
InstallerStdOutRedirect="C:
console.txt"
AutoPopulateLabels="false"
BuildOutputLocation=".\OutPut\"
BuildLinuxWithVM="true"
BuildLinuxWithoutVM="false"
BuildHPUXWithVM="false"
BuildHPUXWithoutVM="false"
BuildAIXWithVM="false"
BuildAIXWithoutVM="false"
BuildSolarisWithVM="false"
BuildSolarisWithoutVM="false"
BuildNamedUnixWithVM="false"
BuildNamedUnixWithoutVM="false"
BuildWindowsWithVM="true"
BuildWindowsWithoutVM="false"
BuildMacClassicWithVM="false"
BuildMacClassicWithoutVM="false"
BuildMacOSX="false"
BuildPureJava="false"
/>
</target>
具体的设置可以参考帮助中对应的文档。
和ant集成后,可以利用ant做一些其他的操作,如zip文件的解压、文件的拷贝、文件内容的修改等,可以让安装包的制作自动化程度更高。
- 15:33
- 浏览 (483)
- 评论 (2)
- 分类: 安装包制作
- 发布在 济南JavaEyer群 圈子
- 相关推荐
评论
sdyouyun
2008-02-02
可以在http://www.macrovision.com/downloads.htm下载试用版本。如果真觉得好用公司自然会给你买的~
andnnl
2008-02-02
可不可以给个InstallAnyWhere下载地址
发表评论
- 浏览: 3916 次
- 性别:

- 来自: 济南

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
STAF--一个很好的软件产品 ...
http://www.ibm.com/developerworks/cn/jav ...
-- by sdyouyun -
STAF--一个很好的软件产品 ...
ant有telnet任务,可以telnet到远程主机上执行某个命令,比较适合远程 ...
-- by yuxie -
STAF--一个很好的软件产品 ...
ant可以做远程机器上的操作吗?ant俺只会最基本的东西,如果也可以,那是更好了 ...
-- by sdyouyun -
STAF--一个很好的软件产品 ...
微软的测试框架很成熟,也很复杂。他们有一套专门的测试实验室。可以用web界面控制 ...
-- by sdyouyun -
STAF--一个很好的软件产品 ...
貌似大部分功能ant也可以做到。。
-- by yuxie






评论排行榜