查找MSI包的GUID


16

如何找到MSI软件包的GUID?我想使用以下方法编写脚本来删除大量台式机上的程序:

msiexec.exe / x 产品代码

为什么对“添加/删除程序”中列出的任何应用程序都不起作用?


仅作记录:如何找到已安装的MSI安装程序的产品GUID?(如果安装程序本身安装在机器上-如果没有从Windows SDK或其他打包工具中获得Orca的信息)。
SteinÅsmul

Answers:


15

更新:改用这个stackoverflow.com答案:如何找到已安装的MSI安装程序的产品GUID?甚至是这样:从MSI文件中找到GUID


Windows SDK的工具,逆戟鲸会允许你打开和查看MSI文件的所有表。打开MSI后,可以导航到“属性”表并查找“产品代码”条目,也可以选择“查看=>摘要信息...”并查找“包装代码”条目。软件包或产品guid均可用于卸载。

查看Orca屏幕截图,了解如何在MSI中查找产品代码:WiX-对多实例安装进行重大升级

还有其他找到GUID的方法:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall

看来您仍然必须下载MSI SDK才能获得Orca。如果您无权访问Orca并且可以下载SDK,那么任何能够读取MSSQL数据库文件(结构化存储文件)的查看器都应该可以打开MSI文件并查看其内容。在查看器中打开MSI之前,请先对其进行复制并打开该副本。只是要确定。打开后,导航到“属性”表并查找产品GUID。

更新一组免费的MSI查看器(朝下)

还要检查stackoverflow.com上的这些帖子,以及有关如何通过Powershell卸载的信息:


由于Orca.exe仅作为SDK的一部分提供,因此可能真是麻烦。如果有人赶时间,我们很乐意通过电子邮件将副本发送给您。目前,Microsoft似乎仅在完整的SDK中提供它:microsoft.com/downloads/en/…。但是正如您所知,Microsoft几乎每天都会改变事情。
斯坦·奥斯曼(SteinÅsmul)2011年

SDK也很容易获得...但是您必须下载更多。搜索还可以打开其他MSI编辑器,例如InstEdit。
SturdyErde,2011年

您可以使用SuperOrca代替Orca。做同样的事情,很容易抓住。
Grimtech'17年

由于HKEY_CLASSES_ROOT的IST合并 HKLM:\SOFTWARE\Classes,并HKCU:\SOFTWARE\ClassesHKEY_CLASSES_ROOT\Installer\Products 在实际驻留HKLM:\SOFTWARE\Classes\Installer\ProductsRESP。也许是它的HKCU对应者。
TNT

7

这是一个注册表项:

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

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

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

不仅如此,msiexec命令实际上还包含在子项“ UninstallString!”中。
dpurrington

2

可以使用InstEd之类的轻量级免费软件工具。只需打开MSI,在“表”选项卡上,单击左侧的“属性”,然后在右侧找到“ ProductCode”。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.