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文件的解压、文件的拷贝、文件内容的修改等,可以让安装包的制作自动化程度更高。

你可能感兴趣的:(xml,ant,F#)