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

时间:2014-11-11 16:10:11

标签: excel vsto add-in

我们为MS Excel 2010编写了一个.NET加载项。它工作正常,我们使用MS部署包创建一个MSI,可以很好地安装加载项。

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

在同一台机器上,我需要更新什么以及在哪里允许安装加载项mroe?

首先,尝试更改外接程序项目的两个版本的GUIDAttribute:

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

有了这个改变,我想我需要在设置中更改productcode,packagecode和upgradecode。

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

如果以后用户获得新版本的prod加载项,那么该加载项应具有相同的升级代码和packagecode,但仅限于不同的产品代码(具体

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

1 个答案:

答案 0 :(得分:0)

正确,你应该改变所有5个(这就足够了)。 ProgIDAttribute和GuidAttribute用于注册Excel的插件(作为注册中密钥的名称;因此它们都必须更改)

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

所以,在addin项目中:

  • 的ProgID
  • Guid(即ClassID)

在安装程序项目中

  • 产品代码
  • PackageCode
  • 的UpgradeCode

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