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

.net 如何使用Visual Studio安装程序项目扩展创建升级安装程序,.net,deployment,setup-deployment,.net,Deployment,Setup Deployment,这是我昨天问的 我正在使用Microsoft Visual Studio安装程序项目扩展为一个已有10年历史的项目的更新构建一个新的安装程序,但我似乎无法创建一个不需要先删除旧版本的安装程序 我正在使用VS 2019:如果我从项目部署菜单中选择“安装”,则新版本将在本地安装,但如果我构建并运行MSI,则会得到“此程序的另一个版本已安装…”,并且我必须要求我的客户卸载并重新安装该应用程序。他们不会喜欢的 我已经更新了输出程序集中的AssemblyFileVersion和AssemblyVersio

这是我昨天问的

我正在使用Microsoft Visual Studio安装程序项目扩展为一个已有10年历史的项目的更新构建一个新的安装程序,但我似乎无法创建一个不需要先删除旧版本的安装程序

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

我已经更新了输出程序集中的AssemblyFileVersion和AssemblyVersion属性,但这没有帮助

那么如何创建更新安装程序呢?部署项目上没有“发布”菜单选项,项目主菜单上的“发布”不可用。旧的方法应该是更新产品代码,但我现在在界面中找不到这样做的方法。我已尝试手动更改.vdproj文件中的产品代码和程序包代码-该文件允许安装程序运行,但它不会安装,因为它显示已安装较新的版本:我已尝试生成新的GUID并手动更新现有的GUID,但未成功。

答案是:

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

  • 在解决方案资源管理器中选择安装项目并点击F4以显示属性
  • 增加“版本”
  • 对出现的询问是否要更新产品代码的对话框说“是”
  • 保存并重新生成安装项目。

    这将启用升级方案
  • 这确实有效。我在这里添加它的原因是,F4没有列在.vdproj上下文菜单上,因此它实际上是不可发现的

    还有一个怪癖:如果您使用的是Git,那么出于某种原因,它不会自动签出部署项目文件,因此您必须手动编辑它(添加一个空间就足够了)并重新加载项目,然后进行更改,这将重写项目