如何使用msi安装程序安装同一应用程序的多个实例

时间:2011-09-28 03:38:28

标签: c# deployment windows-installer

我正在使用visual studio设置项目来创建我的msi安装程序。我的要求是使用相同的安装程序创建应用程序的多个实例,而不更改版本号/产品代码。

如果不使用Wix / Installshield,有没有办法做到这一点。

2 个答案:

答案 0 :(得分:5)

抱歉,如果您想使用MSI并安装多个实例,则需要实例转换(即更改产品代码)
http://msdn.microsoft.com/en-us/library/aa369528(v=VS.85).aspx

为什么不想使用和实例转换更改产品代码?

答案 1 :(得分:5)

Windows Installer不支持具有相同产品代码和升级代码的多个实例。产品版本可以保持不变。实际上,不同的实例被视为不同的产品。

Visual Studio安装项目文件不支持多个实例,并且它们不易实现。一般的方法是:

  • 为每个实例创建一个MST transform。每个转换应使用不同的产品代码和不同的组件GUID。

  • 编写一个可以apply these transforms到原始MSI的自定义EXE引导程序。

  • 可选择查找在单个EXE设置文件中包含转换和MSI的方法。

其他创作工具确实支持多个实例,但实例编号通常有限。这一切都取决于你创建的变换数量。