我们为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吗?
答案 0 :(得分:0)
正确,你应该改变所有5个(这就足够了)。 ProgIDAttribute和GuidAttribute用于注册Excel的插件(作为注册中密钥的名称;因此它们都必须更改)
PackageCode,UpgradeCode和ProductCode允许您在同一台计算机上安装两个软件包。您无法保留包裹代码(因为所有包都应该有不同的包裹代码)。您无法保留产品代码,因为如果您这样做,那么第二个软件包将拒绝安装,说明您安装了同一产品的另一个版本。
所以,在addin项目中:
在安装程序项目中
如果用户获得新版本,要允许升级,则应更改ProductVersion,ProductCode和PackageCode,但将UpgradeCode保留在安装程序项目中(旧安装由UpgradeCode标识)。