如何找到已安装的MSI文件的升级代码?

时间:2017-10-08 23:35:51

标签: powershell vbscript wix windows-installer wmi

在某些情况下可能会出现检索已部署软件包的MSI升级代码的需求

常见情景:

  • 我接管了其他人的MSI项目,我需要确定哪些升级代码用于以前的版本。这是处理升级方案所必需的。 我没有任何版本的存档
  • 我在开发期间多次意外更改了我的WiX软件包的升级代码,我需要找到所有升级代码版本"在野外"。 我不知道升级代码应该在版本之间保持稳定

这是一个 Q / A风格的问题

这个问题之前出现过各种各样的问题,但这不是重复的。我发布了一种使用主要MSI自动化界面(或严格来说WMI)的方法。它应该比之前答案中基于注册表的方法更可靠。这个答案也试图总结其他检索方法。

1 个答案:

答案 0 :(得分:0)

要满足您直接使用WMI的要求,或者在那些情况下,您只需要一次性使用PowerMI(或者需要使用.bat或其他工具),请使用wmic:

C:\WINDOWS\system32>wmic product list brief
Caption                                                                                              IdentifyingNumber                       Name                                                                                                 Vendor                          Version
    Sourcetree                                                                                           {1B05DFFD-1DB9-48CD-9265-F3976512A579}  Sourcetree                                                                                           Atlassian                       2.6.10.0
    Microsoft Office Access database engine 2007 (English)                                               {90120000-00D1-0409-0000-0000000FF1CE}  Microsoft Office Access database engine 2007 (English)                                               Microsoft Corporation           12.0.4518.1031
    Office 16 Click-to-Run Extensibility Component                                                       {90160000-008C-0000-0000-0000000FF1CE}  Office 16 Click-to-Run Extensibility Component    

有多种格式和输出选项。