首页 > 解决方案 > VS 安装项目 - RemovePreviousVersion 更改安装文件夹

问题描述

我本来期望那个设置

RemovePreviousVersion = true

无论新版本是否安装到不同的目标文件夹中,在安装项目中都会导致删除以前的版本。这个假设本身是错误的吗?我没有更改 UpgradeCode GUID。

但是,旧版本文件夹以及“程序和功能”中的条目仍然存在。

在我的场景中,当前的目标安装文件夹是

"%ProgramFiles(x86)%\MySoftware v1"

现在我有一个主要版本升级到 v2 并希望在安装文件夹中反映它,将其更改为

"%ProgramFiles(x86)%\MySoftware v2".

我希望在升级过程中删除“MySoftware v1”。

在更改目标文件夹之前,它按预期工作。所以我假设我的设置项目设置通常是正确的。

两个安装项目之间必须匹配的标准到底是什么,以便它检测到应该删除以前的版本?我的理解是,UpgradeCode 用于唯一标识一个项目,但正如我指出的那样,我没有更改它。

标签: c#visual-studioinstallationsetup-projectvisual-studio-setup-proje

解决方案


它应该完全删除旧版本。这篇文章有很多细节:

https://www.red-gate.com/simple-talk/dotnet/visual-studio/updates-to-setup-projects/

但删除失败的主要原因是:

  1. 您的新设置的 UpgradeCode 与旧设置不同,但您说它们是相同的,所以...

  2. 第一次安装是每个人(或只是我),升级不是同一个上下文。


推荐阅读