繁体   English   中英

有人征服了VS2019中的Visual Studio安装程序项目吗?

[英]Has anyone conquered the Visual Studio installer project in VS2019?

我整个下午都在用谷歌搜索,我发现有很多人问这个问题,所有地方都有几个人会用同样的东西回答它,然后世界其他地方和 OP 有十几个评论关于这些答案如何解决不了问题。 所以我将包括我在这里尝试过的东西,如果你的解决方案是做我已经尝试过的事情之一,我会非常难过。

我在 Visual Studio 2019 中有一个解决方案,它有一个类库、一个 wpf 应用程序和一个安装项目(使用安装项目扩展)。 WPF 应用程序当然也引用了一堆程序集,但其中一个来自我在不同解决方案中维护的另一个项目。 在我将它从自己的项目更新到这个项目后,我复制/粘贴编译的 dll。 没有什么棘手的,一切正常。

问题是安装程序。 如果我构建所有内容然后构建安装程序,它会按预期生成 MSI。 如果我在 Visual Studio 中右键单击该项目并选择“安装”,则一切都很完美。

问题是在我对任何一个代码项目进行了一些更新之后,我然后构建两个并构建安装项目,如果我再次右键单击安装它是完美的。 但是,如果我运行 MSI,它并不总是更新目标文件。 如果我删除目标文件,它将使用新文件创建它们,但不会正确覆盖旧文件。

  1. AssemblyVersion 和 AssemblyFileVersion 每次都会递增,并且与安装项目的“Version”属性保持同步。 我对这些进行了广泛的测试,无法 100% 正常工作的新安装程序已使用正确更新的版本号更新了其中的 dll。
  2. 当我更改设置的“版本”时,它会要求更改 ProductCode 的 GUID。 我说是的,它改变了代码。 我也进行了测试,但没有这样做,众所周知,这使情况变得更糟。
  3. 在安装程序项目中“RemovePreviousVersions”设置为“true”

如果我右键单击该项目并选择“安装”,则升级现有安装似乎是 100% 可靠的。

如果我直接运行 MSI,它似乎 100% 不可靠并且永远不会正确。

旁注,如果我记得更新它的版本,它似乎通常但并不总是升级 WPF 应用程序和我引入的另一个项目 dll,但类库(由 WPF 应用程序引用)几乎从不工作。

有没有人让它可靠地工作?

对于所有将来发现此问题的人,这是最后一句话:

构建项目可能不一致,正如我上面所说,这在整个互联网上都有很好的记录。 你没有做错任何事——只是不一致。

如果它影响到您的项目,请停止尝试解决它并继续前进(在此之前我已经有十几个项目工作得很好)。 共识似乎是使用 WiX,但我不是在这里讨论替代方案。 不过,我个人将开始 WiX 学习曲线。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM