Visual studio 2017 VS2017安装程序项目输出不会替换当前安装

Visual studio 2017 VS2017安装程序项目输出不会替换当前安装,visual-studio-2017,setup-project,visual-studio-setup-proje,Visual Studio 2017,Setup Project,Visual Studio Setup Proje,我有一个使用VS2017安装项目部署的标准windows窗体应用程序。使用“文件系统”打开安装项目时,我向应用程序文件夹中添加了以下内容: win forms应用程序的主要输出 EPPlus库的dll 一些excel文件 安装项目提供了输出.msi包。问题是,当我在构建安装项目后(当然是在构建源项目后)运行.msi输出并运行应用程序时,我看不到我的更新,甚至C:\Program files….目录中的文件也没有修改。我试着更改产品代码和增加版本,但没有成功。我的问题是: 除了再次删除和安装程序外

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

  • win forms应用程序的主要输出
  • EPPlus
    库的dll
  • 一些excel文件
  • 安装项目提供了输出
    .msi
    包。问题是,当我在构建安装项目后(当然是在构建源项目后)运行
    .msi
    输出并运行应用程序时,我看不到我的更新,甚至
    C:\Program files….
    目录中的文件也没有修改。我试着更改产品代码和增加版本,但没有成功。我的问题是:

  • 除了再次删除和安装程序外,是否还有其他方法使安装程序包实际更新软件的安装
  • 无论我如何更新软件,如何避免#1中的问题
  • 导致此错误的原因是什么?如何避免此错误“已安装此产品的另一个版本”?我不确定我做了什么才让它突然出现
  • 如果我希望源代码的某些部分位于单独的dll中,那么它是否像添加类库项目并将其输出添加到安装项目那样简单

  • 非常感谢。

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

  • 增加安装项目的版本并接受更改,这将包括ProductCode的更改
  • 确保RemovePreviousVersions设置为true
  • 升级代码(安装项目属性)必须相同,因此不要更改它
  • 增加需要更新的二进制文件的文件版本(这是更新版本化二进制文件的标准规则) 生成的MSI将进行重大升级(用Windows Installer术语)并升级旧版本,用新产品MSI替换。请注意,升级只能在相同的安装上下文中工作。a Everyone不会升级a Just me,因此会在程序和功能中产生两个条目。执行安装创建详细日志并搜索FindRelatedProducts条目将告诉您是否找到升级。msiexec/I[msi文件的路径]/l*vx[文本日志文件的路径]

    这里有一个较长的解释:


    这是老生常谈,但有关联。并且没有提到更新二进制文件版本的要求(早期VS安装项目不需要)。升级的方法是使用RemovePreviousVersions项目设置。这些步骤是:

  • 增加安装项目的版本并接受更改,这将包括ProductCode的更改
  • 确保RemovePreviousVersions设置为true
  • 升级代码(安装项目属性)必须相同,因此不要更改它
  • 增加需要更新的二进制文件的文件版本(这是更新版本化二进制文件的标准规则) 生成的MSI将进行重大升级(用Windows Installer术语)并升级旧版本,用新产品MSI替换。请注意,升级只能在相同的安装上下文中工作。a Everyone不会升级a Just me,因此会在程序和功能中产生两个条目。执行安装创建详细日志并搜索FindRelatedProducts条目将告诉您是否找到升级。msiexec/I[msi文件的路径]/l*vx[文本日志文件的路径]

    这里有一个较长的解释:


    这是老生常谈,但有关联。并且没有提到更新二进制文件版本的要求(早期VS安装项目不需要它)。

    非常感谢。我有一个问题,该软件仅供内部使用,不是面向客户的产品,因此需要进行大量更改并部署给我的同事,是否需要增加版本号?更改产品代码就足够了吗?它不起作用。它实际上在“添加/删除程序”菜单中添加了另一项。请参阅我的编辑关于跨上下文升级-它们不受支持。似乎我没有升级程序集版本(这应该是您在#4中的意思),现在升级工作正常。谢谢非常感谢你。我有一个问题,该软件仅供内部使用,不是面向客户的产品,因此需要进行大量更改并部署给我的同事,是否需要增加版本号?更改产品代码就足够了吗?它不起作用。它实际上在“添加/删除程序”菜单中添加了另一项。请参阅我的编辑关于跨上下文升级-它们不受支持。似乎我没有升级程序集版本(这应该是您在#4中的意思),现在升级工作正常。谢谢