【转载】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" (installanywhere的安装目录)

    IAProjectFile="..\..\InforSuite.iap_xml" 

   InstallerStdErrRedirect="C: 
console.txt" 

   InstallerStdOutRedirect="C: 
console.txt" 

    

    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>  

转载地址:

http://hi.baidu.com/xiaoduo170/blog/item/b4e982facb827dc3b58f3194.html

http://sdyouyun.iteye.com/blog/160397

 

你可能感兴趣的:(安装,Manifest,自动化,休闲,InstallAnywhere)