InstallShield中如何调用批处理文件

InstallScript工程

这种类型调用批处理相对简单,通过LaunchAppAndWait函数进行调用,下面是简单示例:

 

szProgram =TARGETDIR ^"copy.bat";
szParam ="";
LaunchAppAndWait(szProgram, szParam, LAAW_OPTION_WAIT | LAAW_OPTION_HIDDEN);

ps:变量定义在begin之前,变量实例化是在begin之后

下面是具体应的实例的图片

Basic MSI工程

MSI工程中对于批处理的调用较复杂,我们逐步说明如何操作:

 

    1. Desinoner(安装设计器)模式选择-> Behavior And Logic(行为和逻辑)->自定义操件和顺序

    2. Custom Action Wizard添加一个CA,启动向导(选中自定义操件和顺序,在右边可以看到Custom Actions,选中它右击就可以看到Custom Action Wizard,点击一下,再点下一步)在Basic Information界面中为CA命名
    3. 在Action Type界面中指定Type为Launch an Executable;Location选择Stored in the Directory table
    4. 在Action Parameters界面中,Source选择INSTALLDIR,Target中输入内容:"[SystemFolder]cmd.exe" /c "[INSTALLDIR]Sample.bat"
    5. Additional Options界面默认
    6. 在Respond Options界面中,In-Script Execution选择Deferred Execution
    7. 在Insert into Sequence界面中,将CA插入到InstallFinalize之前,并设定Install Execute Condition为:Not Installed

      点中Browse,进行如下图设定

    8. 其余默认

ps:以下测试是在下InstallShield 2010下测试通过的
参考
网址:http://www.cppblog.com/alantop/archive/2011/04/18/144430.html

posted @ 2012-10-24 14:27  chinasun  阅读(1033)  评论(0)    收藏  举报