如何安装Excel加载项的两个实例

我们已经为MS Excel 2010编写了一个.NET加载项。它工作的很好,我们正在使用MS部署包创build一个安装加载项的MSI。

问题是,有时我们需要安装两个版本的加载项。 也许一个是今天的版本,一个是正在testing的下一个版本。

在同一台机器上,我需要更新哪些内容以及在哪里允许安装插件?

首先,尝试更改两个版本的加载项目的GUIDAttribute:

<GuidAttribute("75AC751D-AB16-4E37-8940-XXXXXXXXX"), ProgIdAttribute("MyAddin.connect")> 

随着这一变化,我想我需要改变设置中的产品代码,包装码和升级码。

我的理解是正确的,如果我需要在同一台机器上安装我的两个环境(UAT,Prod)的附加组件,那么我的产品代码,软件包代码和升级代码都是唯一的。

以后,用户得到一个新版本的prod加载项,那么这个加载项应该有相同的升级代码和包代码,但是只有不同的产品代码(特定的

在这种情况下,我可以保持UAT和Prod相同的ProgIDAttribute?

正确的,你应该改变他们所有的5个(这就够了)。 ProgIDAttribute和GuidAttribute用于注册Excel的插件(作为registery中的一个键的名字;因此它们都必须被改变)

PackageCode,UpgradeCode和ProductCode将允许您在同一台计算机上安装两个软件包。 你不能保留包代码(因为所有的包都应该有不同的包代码)。 你不能保留产品代码,因为如果你这样做,那么第二个包将拒绝安装,说你已经安装了同一产品的另一个版本。

所以,在插件项目中:

  • 进程id
  • Guid(即ClassID)

在安装程序项目中

  • 产品代码
  • PackageCode
  • 的UpgradeCode

如果用户获得新版本,为了升级,您应该更改ProductVersion,ProductCode和PackageCode,但将UpgradeCode保留在安装程序项目中(旧的安装由UpgradeCode标识)。