我使用cx-freeze爲Python應用程序創建MSI安裝程序。我們稱之爲應用程序「A」。它取決於另一個應用程序「B」。我希望我的安裝程序「A」包含並運行「B」的MSI安裝程序。如何使用Inno Setup或WiX工具集創建引導/鏈接安裝程序?使用WiX或Inno Setup捆綁安裝多個MSI文件
回答
這是一個基本的Inno Setup腳本,它將兩個MSI安裝捆綁到一個安裝程序中。由於安裝程序僅用於安裝MSI文件,因此不需要應用程序目錄。爲避免創建應用程序目錄,請使用「CreateAppDir = no」。 (感謝TLama!)
[Setup]
AppName=My Bundle Installer
AppVersion=0.1
DefaultDirName={pf}\MyCo\MyBundle
DefaultGroupName=My Bundle Group
Uninstallable=no
CreateAppDir=no
[Files]
Source: "A.msi"; DestDir: "{tmp}"
Source: "B.msi"; DestDir: "{tmp}"
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\A.msi"""
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\B.msi"""
如果這是你的問題,請在你的腳本中設置['CreateAppDir'](http://jrsoftware.org/ishelp/topic_setup_createappdir.htm)指令爲'no '並且不會創建目錄,也不會顯示目錄選擇頁面。 [+1] – TLama
@TLama謝謝你! CreatAppDir = no正是我所需要的。 – joshuanapoli
不客氣! – TLama
您將需要使用引導程序/ chainer。例如,WiX toolset提供了一個概念,稱爲Bundle
,可以將多個包合併成一個安裝。
WIX工具集看起來不錯,但我無法找到將幾個MSI文件捆綁到一個安裝程序中的配方。弄清楚整個WIX模式對於這個項目來說有點太過分了。 – joshuanapoli
我在這裏回答了一個類似的問題,用於MSI和包的WiX代碼:http://stackoverflow.com/questions/27521546/how-to-create-a-installer-that-installs-a-3rd-party- setup-exe-and-locates -cus/42102377#42102377 – TomEberhard
- 1. wix捆綁只安裝更改msi
- 2. 如何使用Inno Setup安裝程序升級MSI安裝?
- 3. WiX MSI:使用安裝程序捆綁演示項目
- 4. 使用Inno Setup安裝IIS
- 5. 用Inno Setup安裝IIS
- 6. 用Inno Setup安裝Python
- 7. Inno Setup安裝後隱藏文件夾
- 8. Inno Setup - 用於多個安裝程序的安裝程序
- 9. Inno Setup安裝升級爲MSI/WiX安裝時已安裝程序中的重複條目
- 10. 建立Inno安裝程序MSI文件
- 11. 不要使用inno setup安裝服務
- 12. WiX:多個MSI文件?
- 13. 如何將6個msi捆綁到一個msi安裝程序中
- 14. Inno Setup的指定安裝
- 15. Inno Setup的腳本安裝
- 16. Inno Setup模塊化安裝
- 17. 安裝在Inno Setup的
- 18. 捆綁無法打開MSI文件
- 19. WIX捆綁安裝程序,選擇要安裝的軟件包
- 20. Inno Setup:安裝後如何安裝文件?
- 21. 安裝完成後使用inno setup複製文件
- 22. 使用Inno Setup安裝額外的可再發行文件
- 23. 在使用Inno Setup安裝期間共享文件夾
- 24. Inno Setup - 檢查組件是否安裝
- 25. Outlook COM插件捆綁安裝與一個單獨的msi文件C#
- 26. 如何使用Inno安裝程序處理.msi文件?
- 27. 將同一文件安裝到Inno Setup中的多個目標文件夾
- 28. Launch4j JRE安裝或捆綁
- 29. 維克斯安裝程序捆綁產生腐敗的「MSI」
- 30. Inno setup:使用rundll32或dpinst安裝驅動程序?
Inno安裝程序進入了這個位置? – Deanna
@Deanna,↓↓↓:-) – TLama
@TLama我看到了答案,但是這似乎與涉及到使用cx-freeze並創建MSI包(其中包含另一個MSI包)的問題無關。 Inno給出的答案沒有提到cx-freeze,也沒有創建MSI包,只是提取/運行其他兩個MSI包。要麼是問題是錯誤的,要麼是OP缺少大量的上下文。 – Deanna