查找MSI包的GUID

我怎样才能find一个MSI包的GUID? 我想通过使用以下脚本来删除大量桌面上的程序:

msiexec.exe / x ProductCode

任何原因为什么这将不适用于“添加/删除程序?”中列出的任何应用程序?

更新 :请尝试这个stackoverflow.com答案,而不是: 如何find已安装的MSI安装程序的产品GUID? 甚至这一个: 从MSI文件中findGUID 。


Windows SDK工具Orca将允许您打开并查看MSI文件中的所有表格。 打开MSI后,您可以导航到Property表并查找“产品代码”条目,也可以select“View => Summary Information …”并查找“包代码”条目。 包或产品guid都可以用于卸载。

查看如何在MSI中查找产品代码的Orca截图 : WiX – 对多实例安装进行重大升级

还有其他方法可以findGUID:

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \卸载

要么

HKEY_CLASSES_ROOT \ Installer \ Products (查看SourceList项目的GUID)

64位计算机的path略有不同。 我现在运行这个旧的clunker个人电脑,所以我没有确切的64位path。

它仍然显示你必须下载MSI SDK才能获得Orca。 如果您无法访问Orca并且无法避免下载SDK,则任何能够读取MSSQL数据库文件(com structured storage file)的查看器都应该能够打开MSI文件并查看内容。 在查看器中打开之前制作MSI的副本,然后打开副本。 只是要确定。 打开后,导航到“财产”表并查找产品GUID。

还请查看stackoverflow.com上有关如何通过Powershell进行卸载的信息:

  • 如何使用产品id guid卸载msiexec而不存在.msi文件
  • 卸载脚本不能正确执行
  • 如何find已安装的MSI安装程序的产品GUID?
  • 从MSI文件中查找GUID

这是一个registry项:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>} 

或者如果平台是x64并且应用程序是32位的:

 HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>} 

修订号码摘要属性 :

“修订号摘要”属性列出产品代码GUID […]

可以使用像InstEd这样的轻量级免费软件工具。 只需打开MSI,在“表格”选项卡上,点击左侧的“属性”,然后在右侧,find“ProductCode”。