mysql - 如何在 installshield 设置中运行/包含批处理文件

标签 mysql powershell batch-file installshield custom-action

我已经使用 installshield 创建了设置,一切都是工作文件。现在我有一个批处理文件并想运行安装程序。我知道我们可以创建自定义操作,我已经为运行 powershell 脚本创建了自定义操作,并且运行良好。

任何人都可以帮助/指导我使用可以执行批处理文件的自定义操作吗?

我还想从 installshield setup 运行 MySQL 脚本。

我尝试过的:

我已尝试创建不同的自定义操作,但我不确切知道哪个自定义操作用于执行批处理文件。

最佳答案

假设 MSI 安装:

在您的 MSI Installation Designer Pane 中,单击“Custom Actions and Sequences”;在中间 Pane 的顶部右键单击“自定义操作”并选择“新建 EXE -> 存储在二进制表中”。给它起个名字(和描述,如果你喜欢的话)。保存后,右键单击它并启动自定义操作向导。

操作类型应为“启动可执行文件”,位置应为“存储在目录表中”。

对于 Action Parameters“Source”,选择您想要启动的目录。对于 target,输入一个命令来调用您的脚本,例如 cmd/c .\RunMyScript.bat arg1 arg2 ... (假设脚本在您启动的目录中。)如果脚本在不同的文件夹中,您可以将目录变量之一放在括号中:cmd/c [INSTALLDIR]bin\script.bat .通常,目录变量已经包含尾随反斜杠;将这些变量与括号语法一起使用有助于确保即使用户选择了不同的安装文件夹,操作也能正常工作。

如果脚本位于不是安装所需部分的文件夹中,您可能需要使命令类似于 cmd/c if exist .\script.bat .\script.bat - 如果包含您的脚本的功能未被选择安装(或在修改安装时被删除),则自定义操作不会失败。

我通常希望执行是同步的(安装等到脚本完成后再继续);如果您的脚本没有返回可靠的退出代码,或者如果您不希望安装在脚本失败时中止,请选择带有“(忽略错误代码)”的选项。

自定义操作通常应在 InstallExec 序列中,在文件安装后(但您在卸载或修复期间运行的脚本可以更早运行或以不同的顺序运行。)

关于mysql - 如何在 installshield 设置中运行/包含批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47524836/

相关文章:

xml - 如何更新System.Xml.XmlDocument中的节点值?

batch-file - 批量获取字符串长度

windows - 如何使用 windows 命令提示符识别 .exe 文件(未安装)是 64 位还是 32 位

mysql - 用mysql排名: update vs select

php - MYSQL 上个月查询前 9 天未返回

mysql - 尽管异步调用,ADO .NET 仍然阻塞

powershell - 如何使用哈希表将参数传递给在参数前使用双破折号的 powershell cmd

mysql - 关于存储过程中的查询

powershell - 获取文件所有者/作者

windows - 批处理文件 : assign decimal value to variable