使用维克斯或Inno Setup的捆绑几个MSI文件的安装(Use WiX or Inno Setu

2019-08-18 10:14发布

I use cx-freeze to create an MSI installer for a Python application. Let's call it application "A". It depends on another application "B". I would like my installer for "A" to include and run the MSI installer for "B". How can I create a bootstrapping/chaining installer using Inno Setup or the WiX toolset?

Answer 1:

这是一个基本的Inno Setup的脚本,它捆绑了MSI安装成一个单一的安装程序。 由于安装程序只存在于安装MSI文件,也没有必要的应用程序目录。 为了避免创建应用程序目录,使用“CreateAppDir =无”。 (感谢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"""


Answer 2:

你需要使用一个引导程序/ chainer。 例如, WiX的工具集提供了一个名为概念Bundle ,可以多个包组合成一个单一的安装。



文章来源: Use WiX or Inno Setup to bundle the installation of several MSI files