我需要将两个 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/