使用WiX或Inno Setup捆绑几个MSI文件的安装

时间:2013-03-31 19:11:47

标签: wix windows-installer inno-setup distutils cx-freeze

我使用cx-freeze为Python应用程序创建MSI安装程序。我们称之为应用程序“A”。它取决于另一个应用程序“B”。我希望我的“A”安装程序包含并运行“B”的MSI安装程序。如何使用Inno Setup或WiX工具集创建引导/链接安装程序?

2 个答案:

答案 0 :(得分:5)

这是一个基本的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"""

答案 1 :(得分:3)

您需要使用bootstrapper / chainer。例如,WiX toolset提供了一个名为Bundle的概念,可以将多个包组合到一个安装中。