微软正在推广.Net超过8年。
.Net程序集使用4#版本化进行版本控制,如 major.minor [.build [.revision]] 。参考here
虽然,Windows Installer仍建议使用 major.minor.build 等3#版本控制。参考here
两个系统中版本控制的差异。将.Net程序集版本映射到安装程序并不是直截了当的。使用Windows Installer安装.Net应用程序非常复杂,特别是当有人想要为版本中的任何更改实施升级产品时。
如何克服这种情况?即使修订版中的变化最小,我们也希望升级我们的产品。
答案 0 :(得分:4)
这不是要克服的。接受和设计是一个设计限制。恼人的是,但不是在可预见的未来可能会发生变化的事情。 Windows Installer ProductVersions基于3个部分。另外,请记住前两个部分不能超过255个,但第三部分最多可以达到65,535个。
答案 1 :(得分:2)
为什么要将.NET程序集版本直接映射到产品版本?你的产品中真的只有一个组件吗?
我见过的大多数产品配置管理流程通常跟踪带有清单(也就物料清单)的产品版本,其中列出了该产品版本中的二进制文件,配置文件和文档的版本。这将您的开发过程与发布过程分离,这是一件好事,尤其是对于商业产品。
答案 2 :(得分:1)
.NET和Windows安装程序使用的版本解决了不同的问题。在.NET中,加载程序使用程序集版本来确定要加载的程序集版本。请记住,您可以将同一程序集的多个版本部署到GAC,并将它们并排使用。您甚至可以拥有指定要加载的程序集的确切版本的策略。我可以在GAC中使用不同版本的程序集A,并使用版本1使用应用程序1,使用版本2使用应用程序2.虽然我对Windows安装程序知之甚少,但我认为它使用的是版本和产品guid来保持跟踪安装的应用程序版本,以便确定您安装的应用程序是否比已安装的应用程序更新,并警告用户或首先卸载它或让用户选择。