installshield 命令行自动编译

来源:互联网 发布:蓝色晚礼服淘宝 编辑:程序博客网 时间:2024/06/05 12:40

以下摘自: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,就写成下面的样子
引用:
    pushd Installers/ABCD_main
    %INSTALLSHIELD% -p ABCD_main.ism -o ../Release
    IF %ERRORLEVEL% NEQ 0 goto error
    popd
如果写到ant的build.xml脚本中,利用build脚本调用installsheild,就可以写成下面的样子:
引用:
<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>
在windows的命令行下利用installshield打包,大概就可以仿照上面的代码.
    前提是你的installshield工程文件,在每次build的时候改动比较少.如果每次作一次build,installshield的工程文件都需要改动很多,那么就直接在installshield的GUI界面下build就可以了.
    这种情况如果要变成自动build就很困难.不过,我们也可以找找installshield所能接受什么参数,如果你在GUI界面下需要更改的参数,都可以在命令行下给出,那么则可以省去很多事情.但是这方面我看的还比较少,如果大家谁比较精通,可以来一起分享一下.
原创粉丝点击