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

Extracting product version from an ISLE project - VB.NET

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

我想从安装项目中提取 "Product Version" 作为字符串。这里的图像显示了我想要提取的内容。 "Product Version" 位于安装项目的 "General Information" 中。

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

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

版本已写入加载项清单文件。要获得它,您应该加载它(清单)然后提取它...

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     

让我知道这是怎么回事。