从ISLE项目中提取产品版本 - VB.NET

时间:2016-01-25 23:52:07

标签: vb.net setup-deployment excel-addins

我创建了一个Excel Addin项目,并为其创建了一个独立的安装文件。插件有Install Shield Limited Edition - 安装项目。 当我对代码进行更改时,我创建了一个带有新版本号的新安装文件。

我想从设置项目中提取“产品版本”作为字符串。这里的图像显示了我想要提取的内容。 “产品版本”可在安装项目的“常规信息”中找到。

Product Version Image

我尝试使用Application.ProductVersion,但我认为这给了我的Excel版本而不是我的Addins版本。

如何获取插件的产品版本?我的目的是提取此版本号并在addin功能区中显示它,以便我们可以看到我们正在使用的版本(需求之一)。

1 个答案:

答案 0 :(得分:1)

将版本写入add ins清单文件。为了得到它你应该加载它(清单),然后提取它......

Dim publishVersion As String = String.Empty
Dim assemblyVersion As String = String.Empty

' load the application manifest
Using xmlrdr As XmlReader = XmlReader.Create("ExcelPTCMAddIn.dll.manifest")
    xmlrdr.MoveToContent
    Do While xmlrdr.Read
        If (xmlrdr.Name = "asmv1:assemblyIdentity") Then
            publishVersion = xmlrdr.Item("version")
        End If
        If ((xmlrdr.Name = "assemblyIdentity") AndAlso (xmlrdr.Item("name") = "ExcelPTCMAddIn")) Then ' there're two occurences of "assemblyIdentity" element, either one is OK
            assemblyVersion = xmlrdr.Item("version")
        End If
    Loop
End Using     

让我知道这是如何解决的。