【发布时间】:2009-12-21 12:42:30
【问题描述】:
我需要将两个 msi 文件打包到一个 setup.exe 文件中(通过引导程序)并根据条件仅运行其中一个(机器是 x64 或 x86)。
有没有办法做到这一点?
【问题讨论】:
标签: installation wix windows-installer bootstrapping bootstrapper
我需要将两个 msi 文件打包到一个 setup.exe 文件中(通过引导程序)并根据条件仅运行其中一个(机器是 x64 或 x86)。
有没有办法做到这一点?
【问题讨论】:
标签: installation wix windows-installer bootstrapping bootstrapper
您可以使用 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 向导中设置适当的选项来完成。
【讨论】:
您可以编写一个程序并嵌入两个安装程序,然后让它检查系统是否为 64 位。我在http://blog.foldertrack.com/?p=45 写了一篇关于编写本机应用程序的博文@
【讨论】: