我使用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