【发布时间】:2011-09-28 03:38:28
【问题描述】:
我正在使用 Visual Studio 设置项目来创建我的 msi 安装程序。我的要求是使用同一安装程序创建应用程序的多个实例,而无需更改版本号/产品代码。
有什么方法可以在不使用 Wix/Installshield 的情况下做到这一点。
【问题讨论】:
标签: c# deployment windows-installer
我正在使用 Visual Studio 设置项目来创建我的 msi 安装程序。我的要求是使用同一安装程序创建应用程序的多个实例,而无需更改版本号/产品代码。
有什么方法可以在不使用 Wix/Installshield 的情况下做到这一点。
【问题讨论】:
标签: c# deployment windows-installer
抱歉,如果您想使用 MSI 并安装多个实例,则需要实例转换(即更改产品代码)
http://msdn.microsoft.com/en-us/library/aa369528(v=VS.85).aspx
您为什么不想使用实例转换来更改产品代码?
【讨论】:
Windows Installer 不支持具有相同产品代码和升级代码的多个实例。产品版本可以保持不变。不同的实例实际上被视为不同的产品。
Visual Studio 安装项目文件不支持多个实例,并且它们不容易实现。一般的做法是这样的:
为每个实例创建一个MST transform。每个转换都应使用不同的产品代码和不同的组件 GUID。
编写一个自定义的 EXE 引导程序,可以 apply these transforms 到您的原始 MSI。
(可选)找到将转换和 MSI 包含在单个 EXE 设置文件中的方法。
其他创作工具确实提供对多个实例的支持,但实例数量通常是有限的。这完全取决于您创建了多少变换。
【讨论】: