Visual Studio安装项目不会完全卸载旧版本

时间:2011-07-12 15:51:52

标签: visual-studio-2005 installer windows-installer

希望我能清楚地解释一下:

我有一个Visual Studio安装项目(C ++),我目前的构建脚本执行以下操作:

  • 更新版本号
  • 更新PackageCode
  • 更新ProductCode

这在过去没有任何问题(大约20个版本)。

我刚刚发布了一个新版本,其中删除了自定义操作(大多数以前的版本中都包含该操作)。我的构建过程与上面相同。

现在,当我安装时,我在Windows的“添加和删除程序”中收到了重复的条目。

即:

  • 以前的版本是1.0.6.2并安装在计算机上。
  • 然后我安装新版本1.0.7.0(删除了自定义操作)

添加和删除程序列表1.0.6和1.0.7。

知道我需要做些什么才能解决这个问题?我希望发生的事情是新版本导致1.0.6.2的卸载程序运行,但是没有让它删除作为1.0.7.0的一部分删除的FeatureComponents。

有没有办法强迫他们搬走?

1 个答案:

答案 0 :(得分:0)

确保两个版本具有相同的安装类型(每用户或每台计算机)。这是通过ALLUSERS安装程序属性或InstalAllUsers安装项目属性来控制的。

此外,他们应该使用相同的UpgradeCode。您可以通过使用Orca打开MSI文件在“属性”表中进行检查。

如果满足这些条件并且问题仍然存在,请尝试创建详细日志,并查看执行FindRelatedProducts和RemoveExistingProducts操作时会发生什么。