以下摘自:http://bbs.scmroad.com/viewthread.php?tid=1655,工作所需
持续集成之Installshield_利用命令行或者ant(nant)调用installshield
利用命令行或者
ant(nant)调用
installshield
Cruisecontrol 或者Cruisecontrol.NET中都可以调用installshield,这样就可以在做build的同时,进行打包,然后就可以交给Tester去测试了.
调用installshield,我想到的有三种方法,
1. 是把调用installshield的命令写到一个bat或者cmd文件中,利用Cruisecontrol(Cruisecontrol.NET)或者ant(Nant)去调用这个文件
2. 是把调用installshield的命令直接写到ant(Nant)的build.xml文件中去
3. 事实上也可以把这部分写到Cruisecontrol(CruiseControl.NET)的 配置文件中去,但是我们不建议这样.尤其是项目比较多的情况.但是项目如果比较少的话,比如就一个项目,那么都写到一个文件中的确方便不少.好处坏处只能大家自己权衡一下了.然后针对自己的项目进行优化
在windows下如果写成cmd或者bat,就写成下面的样子
如果写到ant的build.xml脚本中,利用build脚本调用installsheild,就可以写成下面的样子:
在windows的命令行下利用installshield打包,大概就可以仿照上面的代码.
前提是你的installshield工程文件,在每次build的时候改动比较少.如果每次作一次build,installshield的工程文件都需要改动很多,那么就直接在installshield的GUI 界面下build就可以了.
这种情况如果要变成自动build就很困难.不过,我们也可以找找installshield所能接受什么参数,如果你在GUI界面下需要更改的参数,都可以在命令行下给出,那么则可以省去很多事情.但是这方面我看的还比较少,如果大家谁比较精通,可以来一起分享一下.
Cruisecontrol 或者Cruisecontrol.NET中都可以调用installshield,这样就可以在做build的同时,进行打包,然后就可以交给Tester去测试了.
调用installshield,我想到的有三种方法,
1. 是把调用installshield的命令写到一个bat或者cmd文件中,利用Cruisecontrol(Cruisecontrol.NET)或者ant(Nant)去调用这个文件
2. 是把调用installshield的命令直接写到ant(Nant)的build.xml文件中去
3. 事实上也可以把这部分写到Cruisecontrol(CruiseControl.NET)的 配置文件中去,但是我们不建议这样.尤其是项目比较多的情况.但是项目如果比较少的话,比如就一个项目,那么都写到一个文件中的确方便不少.好处坏处只能大家自己权衡一下了.然后针对自己的项目进行优化
在windows下如果写成cmd或者bat,就写成下面的样子
引用:
pushd Installers/ABCD_main
%INSTALLSHIELD% -p ABCD_main.ism -o ../ Release
IF %ERRORLEVEL% NEQ 0 goto error
popd
引用:
<target name=" Build-ABCD-Main-Installer" description="Build ABCD" depends="Build-ABCD-Jar">
<echo>Build-ABCD-Main-Installer</echo>
<echo> remove the read-only attribute:attrib -r /s * </echo>
<exec dir="${dir.installer.abcd.main}" executable="attrib">
<arg value="-r"/>
<arg value="/s"/>
<arg value="*"/>
</exec>
<exec dir="${dir.installer.abcd.main}" executable="C:/Program Files/Macrovision/IS 2008 StandaloneBuild/IssaBld.exe">
<arg line="-p ABCD.ism -o ../testrelease"/>
</exec>
</target>
前提是你的installshield工程文件,在每次build的时候改动比较少.如果每次作一次build,installshield的工程文件都需要改动很多,那么就直接在installshield的GUI 界面下build就可以了.
这种情况如果要变成自动build就很困难.不过,我们也可以找找installshield所能接受什么参数,如果你在GUI界面下需要更改的参数,都可以在命令行下给出,那么则可以省去很多事情.但是这方面我看的还比较少,如果大家谁比较精通,可以来一起分享一下.