installation - 如何打包两个 msi 文件并在它们之间运行条件?

标签 installation wix windows-installer bootstrapping bootstrapper

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

最佳答案

您可以使用 iexpress.exe(标准 Windows 工具)打包这两个 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/

相关文章:

java - R: 无法安装 rJava;什么是 r-api-3.4?

windows-vista - 有没有办法让 Server 2008 在安装程序中“显示”为 Vista?

windows - 如何在不重启的情况下使用 SEE_MASK_NOZONECHECKS 运行 msi

使用自定义/参数进行 WiX Bootstrap 静默安装

windows-vista - 如何在 Vista 中获取 Application Data 文件夹/Word 模板文件夹?

c - 如何从 MSI 数据库中提取部署文件

wix - 如果默认情况下双用途包是每台机器,则每用户安装始终需要管理员权限

Android & Servers - 可以用什么服务器软件,一头雾水

jar - 在 Windows 上安装 weblogic 12 jar 时出现问题

installation - MSI 安装和 UAC