我有两个用于32位和64位平台的MSI安装程序,我想创建一个单独的安装程序,它将根据运行的平台运行相应的MSI。我很欣赏单独使用MSI这是不可能的。
所需的软件包非常简单,只需检查其运行的平台的位置并启动相应的MSI,但我还没有找到任何 free 工具来执行此操作。我遇到过看起来很有希望的NSIS,有谁知道它是否适合这项任务?
答案 0 :(得分:5)
使用x64.nsh检测平台,然后提取&执行。像这样:
!include x64.nsh
Section
Initpluginsdir
${If} ${RunningX64}
File "/oname=$pluginsdir\inst.msi" "myfiles\amd64.msi"
${Else}
File "/oname=$pluginsdir\inst.msi" "myfiles\x86.msi"
${EndIf}
ExecWait '"msiexec" /i "$pluginsdir\inst.msi"'
SectionEnd