我需要在一个setup.exe文件中打包两个msi文件(通过bootstrapper)并根据条件只运行其中一个(机器是x64或x86)。
有没有办法做到这一点?
答案 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
执行此操作