应用程序是否可以使用MSI产品版本?
我试过,Assembly.GetExecutingAssembly()。GetName()。版本, 但它给了我一个与我想要的不同的组装版本。我可以在适当的位置编辑这个值,但如果我只是从MSI安装程序显示版本号就会很方便。
另一点是,MSI版本号有3个部分,每个部分用'。'分隔,例如 1.0.3,其中装配编号有4个部分,例如1.0.2.4。
由此我得出结论,我们必须单独更新这些值,并且无法将它们同步。
我的理解是否正确?
答案 0 :(得分:3)
MSI允许为其版本指定四个部分,尽管它只会比较前三个部分(这可能会在尝试仅使用第四部分中的更新进行次要升级时引起混淆)。因此,如果您的安装程序解决方案是可编写脚本的,那么您当然可以在某种构建脚本中同步您的数字。
至于从您的应用程序显示MSI版本,您需要知道您的ProductCode GUID,以便MSI API可以查找其版本。或者,您可以编写一个包含更稳定位置版本的注册表项,并在您的应用程序中读取该文件。