是否可以从InstallShield Express自定义操作运行MSI?

时间:2012-11-27 15:28:24

标签: installshield localdb

我正在使用InstallShield Express Spring 2012 SP1。我想从自定义操作中运行SQLLocalDb_x64.MSI。

是否可以从InstallShield Express中的自定义操作运行MSI?

2 个答案:

答案 0 :(得分:1)

作为一般规则,您不能将MSI作为另一个主MSI包中的Install Execute Sequence的自定义操作运行。 Windows Installer不允许同时运行两个MSI程序包,因此您将收到错误消息。

从另一个MSI有条件地启动MSI的标准方法是将其作为链式包嵌入。

不幸的是我没有使用InstallShield Express,因此我不知道它是否支持链式软件包,通常这个功能在商业版中可用。

答案 1 :(得分:1)

我完全赞同波格丹,但有一招。您可以在InstallFinalize阶段之后的安装结束时从自定义操作运行msi。您可以使用以下CA:
InstallIntStd 226 SystemFolder msiexec.exe /passive /i "[SOURCEDIR]YourSetup.msi"
其中:
InstallIntStd自定义操作的名称;
226类型:EXE的异步执行,无需等待结果;
SystemFolder msiexec所在的目录;
msiexec.exe /passive /i "[SOURCEDIR]YourSetup.msi"启动字符串。