Visual Studio 安装项目不能升级到新的程序。

9

好的,这是我采取的步骤...

创建并自定义安装程序项目

设置安装程序项目版本=1.0.0
构建安装程序项目
安装版本1.0.0
运行程序,在窗口标题栏中显示"v1.0.0"

更改程序代码以在窗口标题栏中显示"v1.0.1"
设置安装程序项目RemovePreviousVersions=True
设置安装程序项目版本=1.0.1
更改ProductCode(按提示)
构建安装程序项目
安装版本1.0.1
运行程序,在窗口标题栏中显示"v1.0.0"

新的安装程序安装了旧版本的软件。在控制面板的“程序和功能”中(曾经是“添加/删除程序”),显示已安装版本1.0.1。我参考了多个教程,例如http://www.simple-talk.com/dotnet/visual-studio/updates-to-setup-projects/

当您准备构建一个新版本的产品以替换旧版本时,请执行以下步骤:

  • 增加版本属性(见图1)。Visual Studio将显示一个消息框,提示您更改ProductCode和PackageCode。选择是。
  • 将RemovePreviousVersions属性设置为true。

将RemovePreviousVersions属性设置为true会在安装新版本时从系统中删除产品的旧版本。由于产品由ProductCode Guid标识,因此更改ProductCode会创建一个新产品。也就是说,在安装新产品时,旧产品将被卸载。

如果我手动从控制面板中删除1.0.0,然后安装1.0.1,则程序将正确显示"v1.0.1"。

我错过了什么?

3个回答

10

我知道这篇文章已经有点老了,但是我遇到了完全相同的问题。

我解决了这个问题,方法是更新所有项目的程序集和文件版本(而不仅仅是之前只更新exe文件版本的做法)。


8

我最近遇到了完全相同的问题,并通过试错找到了解决方法。尽管您的设置项目已正确递增,但您还需要递增程序集版本,该版本可以在项目属性的程序集信息部分中找到。


3

我不明白那个链接告诉我的是什么。我应该在解决方案中的每个项目中添加一个新资源吗?我在Visual Studio中找不到这个版本信息编辑器。 - epalm
你的 .exe 和 .dll 应该包含链接到其中的资源文件。对于托管代码,可以使用 FileVersionInfo 类实现,而对于原生代码,则需要使用 .rc 文件。 - Stephen Gennard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接