Bootstrap

C#的Installer生成的msi的安装文件,安装新版本时提示:已经安装了该产品的另一个版本。无法继续安装此

vs2010环境下的处理方法如下:

当用去运行,用C#的Installer生成的新版本的msi安装文件时,出现错误:

已经安装了该产品的另一个版本。无法继续安装此版本。可以使用“控制面板”中“添加/删除程序”来配置或删除该产品现有版本

的话,解决办法是:

Installer项目的"部署项目属性"中,把RemovePreviousVersions设置为True,意思是,如果之前已安装旧版本的话,会去检测并卸载旧版本。

同时,要确保,前后两次所生成的msi所用的:

UpgradeCode是一样的,即同样的值(其值举例:{C7B39FE7-09DA-4635-83A9-E80421D91E36});

ProductCode是不同的值,是不一样的(其值举例:{32C3FA06-665B-4292-BF52-03465A59A8BF});

注:Installer会自动帮你生成UpgradeCode和ProductCode,而如果你之前就没有改动过这两个值的话,则不同的版本之间的UpgradeCode和ProductCode都一直是没有变的,

所以就需要你去把ProductCode改变一下:

选中ProductCode后,其值的右边会出现 (…)字样,点击它,然后在弹出对话框中点击“新代码”,即可生成新的值。

如此,最后生成的新版本的msi的安装文件,就可以顺利的,先自动卸载已安装的旧版本,正常安装新版本了。

 

【特别说明:如何打开Installer项目的属性窗口,而非属性页】

1.先点击当前某个文件,然后右击选择属性,会打开属性窗口:

sel file property window

2.然后再点击对应的项目,属性窗口会自动切换到项目的“部署项目属性”:

show 部署项目属性

3.否则,如果直接点击项目,右击选择属性:

右击项目选择的属性

4.正常打开Installer项目的属性窗口后,就可以根据自己需要去安装上述的解释,设置对应的值了:

设置对应的值

vs2013环境下的处理办法:


;