2012-06-27 97 views
3

我有兩個適用於32位和64位平臺的MSI安裝程序,我想創建一個單一的安裝程序,以便運行基於它所運行平臺的相應MSI。我明白,單靠MSI是不可能的。是否可以使用NSIS來打包MSI安裝程序?

所需的軟件包非常簡單,只需檢查它正在運行的平臺的位置並啓動相應的MSI即可,但我還沒有找到任何可以實現這一目的的工具免費工具。我遇到了NSIS,看起來很有前途,有誰知道它是否適合這項任務?

+1

[早期研究](http://nsis.sourceforge.net/Embedding_other_installers)看起來很積極。 – fredley

回答

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 
相關問題