代码之家  ›  专栏  ›  技术社区  ›  Luiz C.

从命令行获取msi产品名称、版本

  •  2
  • Luiz C.  · 技术社区  · 14 年前

    有没有办法从命令行显示msi文件的产品名和版本?或者更好的是,这可以通过python实现吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   vpit3833    14 年前

    尝试 SummaryInformation.GetProperty(PID_TITLE) SummaryInformation.GetProperty(PID_REVNUMBER) 以及所有其他字段名 the msilib docs page

        2
  •  5
  •   Tjaart    13 年前

    您可以使用以下方法获取产品版本:

    from msilib import *
    
    def GetMsiProperty(path ,property):
        db = OpenDatabase(path, MSIDBOPEN_READONLY)
        view = db.OpenView ("SELECT Value FROM Property WHERE Property='" + property + "'")
        view.Execute(None)
        result = view.Fetch()
        #print dir(result)
        return result.GetString(1)
    
    
    msiVersion = GetMsiProperty(r'C:\path\to.msi' ,"ProductVersion")