如何使用Visual Studio安装程序项目扩展名创建升级安装程序

问题描述

the deployment projects QNA提问

我正在使用Microsoft Visual Studio安装程序项目扩展来构建新的安装程序以更新10年的项目,但是我似乎无法创建不需要先删除旧版本的安装程序。

我正在使用VS 2019:如果我从项目部署菜单中选择“安装”,则新版本将在本地安装,但是如果我构建它并运行MSI,则会收到“该程序的另一个版本已安装…”,我是否必须请客户卸载并重新安装该应用程序。他们不会喜欢的。

我已经更新了输出程序集中的AssemblyFiLeversion和AssemblyVersion属性,但这无济于事。

那么如何创建更新安装程序?部署项目上没有“发布”菜单选项,并且该项目的主菜单上没有“发布”。旧的方法本来是更新产品代码,但是现在我找不到在界面中执行此操作的方法。我尝试手动更改.vdproj文件中的产品代码和软件包代码-该文件可以使安装程序运行,但由于安装了较新的版本而无法安装:我尝试生成新的GUID并手动更新现有的,但没有成功。

解决方法

答案是:

除了所做的更改(在输出程序集中更新AssemblyFileVersion和AssemblyVersion属性)之外,您还需要更新安装项目的版本。

  1. 在解决方案资源管理器中选择安装项目,然后按F4键以显示属性
  2. 增加“版本”
  3. 对出现的对话框询问是,是否要更新产品代码
  4. 再次保存并构建安装项目。

    这将启用升级方案。

这确实有效。我在这里添加它的原因是 F4没有在.vdproj上下文菜单中列出,因此实际上是无法发现的。

还有一个怪癖:如果您使用的是Git,则由于某种原因它不会自动检出部署项目文件,因此您必须手动对其进行编辑(添加一个空间就足够了)并重新加载项目,然后进行更改,无论如何都要重写该项目。