我需要将两个 msi 文件打包到一个 setup.exe 文件中(通过 bootstrap ),并根据条件(机器是 x64 或 x86)仅运行其中之一。
有没有办法做到这一点?

最佳答案

您可以使用 iexpress.exe(标准 Window 工具)打包这两个 msi 文件,并添加一个自定义批处理文件,您将其设置为 iexpress 包的启动命令。批处理脚本将确定架构并启动相应的 msi 文件:

if %PROCESSOR_ARCHITECTURE% EQU x86 (
  echo "x86"
  call setup-x86.msi
) ELSE (
   echo "x64"
   call setup-x64.msi
)

将该代码放在名为 installmsi.bat 的批处理文件中。然后稍后在 IExpress 向导中输入以下安装命令:
cmd.exe /C installmsi.bat

有必要在这里显式调用 cmd.exe ,否则 IExpress 将使用旧的 command.com

您可能还想隐藏批处理窗口,这可以通过在 IExpress 向导中设置适当的选项来完成。

关于installation - 如何打包两个 msi 文件并在它们之间运行条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1939895/

10-13 07:57
查看更多