VS2017安装程序项目输出不替换当前安装

问题描述 投票:0回答:1

我有一个使用VS2017安装项目部署的标准Windows窗体应用程序。使用“文件系统”打开安装项目时,我在应用程序文件夹中添加了以下内容:

  1. win form app的主要输出。
  2. EPPlus图书馆的dll。
  3. 一些excel文件。

安装项目给出了输出.msi包就好了。问题是,当我在构建安装项目后运行.msi输出(当然在构建源项目之后)并运行应用程序时,我没有看到我的更新,甚至没有修改C:\Program Files ....目录中的文件。我尝试更改产品代码和增加版本,但它不起作用。我的问题是:

  1. 除了再次删除和安装程序之外,还有什么方法可以使安装程序包实际更新软件的安装?
  2. 无论我更新软件多少,如何避免#1中的问题?
  3. 是什么原因以及如何避免此错误“已安装此产品的另一个版本”?我不知道我为它弹出了什么。
  4. 如果我想将源代码的某些部分放在一个单独的dll中,它是否像添加类库项目并将其输出添加到安装项目一样简单?

非常感谢你。

visual-studio-2017 setup-project visual-studio-setup-proje
1个回答
1
投票

升级的方法是使用RemovePreviousVersions项目设置。步骤是:

  1. 增加安装项目的版本并接受更改,这将包括更改ProductCode。
  2. 确保将RemovePreviousVersions设置为true。
  3. UpgradeCode(安装项目属性)需要相同,所以不要更改它。
  4. 增加需要更新的二进制文件的文件版本(这是有关更新版本化二进制文件的标准规则)。

生成的MSI将进行重大升级(使用Windows Installer术语)并升级旧版本,将其替换为新产品MSI。请注意,升级仅适用于相同的安装环境。每个人都不会升级只是我,所以这将导致程序和功能中的两个条目。执行安装创建详细日志并搜索敌人FindRelatedProducts条目将告诉您它是否找到了升级。 msiexec / I [msi文件的路径] / l * vx [文本日志文件的路径]

这里有一个更长的解释:https://www.red-gate.com/simple-talk/dotnet/visual-studio/updates-to-setup-projects/?_ga=2.138201520.1662048302.1514485579-1682631157.1514485579

这是旧的但相关的。并没有提到更新二进制文件版本的要求(早期的VS安装项目不需要它)。

© www.soinside.com 2019 - 2024. All rights reserved.