查找 MSI 软件包的 GUID

查找 MSI 软件包的 GUID

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

msiexec.exe /x产品代码

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

答案1

更新:请尝试以下 stackoverflow.com 答案:如何找到已安装的 MSI 设置的产品 G​​UID?或者甚至是这个:从 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 数据库文件(com 结构存储文件)的查看器都应该能够打开 MSI 文件并查看其内容。在查看器中打开 MSI 之前,请先复制一份,然后打开副本。以确保万无一失。打开后,导航到属性表并查找产品 GUID。

更新免费 MSI 查看器列表(底部)

另请查看这些帖子stackoverflow.com了解如何通过卸载电源外壳

答案2

它是一个注册表项:

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

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

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

答案3

还有一个非常有用的 GUI 工具,称为产品浏览器,它似乎是由微软或至少是微软的员工制作的。

可以在 Github 上找到产品浏览器

截至(20/10/9)的最新版本可用这里

我个人用这个很容易就找到了我需要的 GUID。

答案4

在 Powershell 中,你可以查询 wmi 以了解安装情况

$program = Get-WmiObject -class Win32_Product | ? {$_.Name -eq "Java Auto Updater"} 
$program.IdentifyingNumber #IdentifyingNumber is the guid

修复示例

msiexec /fa $program.IdentifyingNumber

相关内容