2010-05-06 115 views
2

MSI产品版本是否可用于应用程序?如何以编程方式获取MSI产品版本的C#

我试过了,Assembly.GetExecutingAssembly()。GetName()。Version, 但它给了我一个不同于我想要的程序集版本。我可以在适当的位置编辑此值,但如果我只能从MSI安装程序中显示版本号,将会很方便。另一点是,MSI版本号有3个部分,每个部分用'。'分隔,例如 1.0.3,其中装配号码有4个部分,例如1.0.2.4。

从这我得出结论,我们必须分别更新这些值,并且没有办法使它们同步。

我的理解是否正确?

回答

3

MSI允许为它的版本指定四个部分,但它只会比较前三个(当仅在第四部分中尝试次要升级时会导致混淆)。因此,如果您的安装程序解决方案是脚本化的,那么您肯定能够在某种构建脚本中同步您的数字。

至于从您的应用程序中显示MSI版本,您需要知道您的ProductCode GUID,以便您可以使用MSI API查找其版本。或者,您可以编写包含更稳定位置版本的注册表项,然后在您的应用程序中阅读该项。

相关问题