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

时间:2009-12-21 12:42:31

标签: installer wix windows-installer bootstrapping bootstrapper

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

2 个答案:

答案 0 :(得分:3)

您可以使用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向导中设置相应的选项来完成。

答案 1 :(得分:0)

您可以编写程序并嵌入两个安装程序,然后检查系统是否为64位。我写了一篇关于编写本地应用程序的博客文章,该应用程序在http://blog.foldertrack.com/?p=45

执行此操作