2009-02-16 132 views
1

当我安装使用MSI文件第二次我的申请,我发现了2种不同的行为:与安装包有问题

1)有时它会显示一个警告窗口,提醒我,有安装了早期版本在你的电脑中。如果你想删除它,请去控制面板。

2)它显示一个向导,询问我是否要修复或删除应用程序。

其实,我不想第一个行为。我希望他要我修复以前的版本或将其删除。怎么做?!?

回答

1

我找到了解决方案..我应该设置DetectNewerInstalledVersion属性为false,以便它将执行第二个行为。

请纠正我,如果我wronge

+0

您可能还想看看RemovePreviousVersion属性,以确保做到您想要的。 – 2009-02-16 14:00:41

1

如果你想要设置自动卸载旧版本的应用程序,你可以做到以下几点:

  1. 增量的版本号您应用程序在设置
  2. 当你这样做后,VS会弹出一个对话框询问你是否需要不同的产品ID。 (回答是/好)
  3. 确保RemovePreviousVersion为true。

下一次您安装(假设和旧版本存在),您的设置将自动卸载旧版本并安装新版本。

魔术是由最后一个guid - GroupCode造成的。 guid必须始终在所有版本的产品中保持一致。所以逻辑是,如果版本号发生了变化,并且产品代码已更改,但组代码相同,则会发生自动卸载。

0

有同样的问题,并设置DetectNewerInstalledVersion为false解决它。我相信这个问题是从XP更改为Win7时介绍给我的。