构建我们的Java应用程序的最后一步(使用ANT脚本)涉及Inno安装程序,以便在一个漂亮的Windows安装程序中打包所有内容。
我们现在正在升级我们的ANT脚本,以生成我们的应用程序的32位和64位版本。因此我们的问题是:我们如何参数化我们的Inno Setup配置文件,以便它可以生成x86和x64版本(因此它将被ANT脚本调用2x,参数指示x86 / x64)。
在Inno Setup配置文件中,只有一行需要根据此参数进行更改:
ArchitecturesInstallIn64BitMode=x64
这就是我们如何从ANT调用Inno Setup命令行:
<exec executable="C:\Program Files (x86)\Inno Setup 5\iscc.exe">
<arg value="/cc" />
<arg value="${dir.create_setup}/CreateSetup.iss" />
</exec>
非常感谢任何关于如何做到这一点的帮助/提示!
谢谢, 托马斯
答案 0 :(得分:2)
使用copy task进行过滤,也可用于其他动态值
你的iss配置文件模板有:
ArchitecturesInstallIn64BitMode=@32or64@
你的build.xml有:
<filter token="32or64" value="${32or64}"/>
<copy file="foobar.iss" tofile="foobaz.iss" filtering="true" overwrite="true"/>
<exec executable="C:\Program Files (x86)\Inno Setup 5\iscc.exe">
<arg value="/cc" />
<arg value="foobaz.iss" />
</exec>
然后使用userproperty 32or64启动你的ant文件:
ant -f build.xml -D32or64=x64
或
ant -f build.xml -D32or64=x86
带过滤的复制任务将使用userproperty 32or64的值替换令牌@ 32or64 @,因此foobaz.iss具有:
ArchitecturesInstallIn64BitMode=x64
或
ArchitecturesInstallIn64BitMode=x86