我正在使用 InstallShield Express Spring 2012 SP1。我想从自定义操作中运行 SQLLocalDb_x64.MSI。
是否可以通过 InstallShield Express 中的自定义操作运行 MSI?
我正在使用 InstallShield Express Spring 2012 SP1。我想从自定义操作中运行 SQLLocalDb_x64.MSI。
是否可以通过 InstallShield Express 中的自定义操作运行 MSI?
我完全同意波格丹的观点,但有一个窍门。在 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"
启动字符串。
作为一般规则,您不能在另一个主 MSI 包中将 MSI 作为安装执行序列的自定义操作运行。Windows Installer 不允许同时运行两个 MSI 程序包,因此您将收到一条错误消息。
从另一个 MSI 有条件地启动 MSI 的标准方法是将其嵌入为链式包。
不幸的是我不使用InstallShield Express,所以我不知道它是否支持链接包,通常这个功能在商业版中可用。