2010-05-06 90 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查找其版本。或者,您可以編寫包含更穩定位置版本的註冊表項,然後在您的應用程序中閱讀該項。

相關問題