杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2352|回复: 0

InstallShield 中如何调用批处理文件

[复制链接]
发表于 2017-3-27 16:02:21 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在InstallShield中调用批处理文件其实是安装打包中很常用的一种手段,通过批处理启动服务,进行数据库初始配置等等。

在实际操作中,针对不同工程类型,对批处理的调用还是有很多疑惑困扰着大家,撰写此文希望能帮助到那些被困扰的打包开发人员。
这里假设我们的需求是要启动安装路径下的批处理文件Sample.bat。

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

  1.     szProgram = TARGETDIR ^ "sample.bat";  
  2.     szParam = "";
  3.     LaunchAppAndWait(szProgram, szParam, LAAW_OPTION_WAIT | LAAW_OPTION_HIDDEN);
复制代码


Basic MSI工程:
MSI工程中对于批处理的调用较复杂,我们逐步说明如何操作:
通过Custom Action Wizard添加一个CA,启动向导
在Basic Information界面中为CA命名
在Action Type界面中指定Type为Launch an Executable;Location选择Stored in the Directory table
在Action Parameters界面中,Source选择INSTALLDIR,Target中输入内容:"[SystemFolder]cmd.exe" /c "[INSTALLDIR]Sample.bat"
Additional Options界面默认
在Respond Options界面中,In-Script Execution选择Deferred Execution
在Insert into Sequence界面中,将CA插入到InstallFinalize之前,并设定Install Execute Condition为:Not Installed
其余默认
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-19 20:24 , Processed in 0.101672 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表