如何安装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标识)。