11

在我的应用程序中,我想查询 Windows 框上的安全更新和修补程序。为此,我询问了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallWindows 2008 服务器和 Windows 7 以外的操作系统上的一切顺利...

在 Windows 2008 服务器机器上运行appwiz.cpl时,它会显示大量的修补程序和安全更新,但它们在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. 似乎 windows 已经更改了 windows 2008 server 和 windows 7 的注册表位置。

我需要查询安全更新和修补程序的详细信息。

4

2 回答 2

15

在 Windows 7 中,他们引入了使用 .msu 文件(MSU == Microsoft System Update)应用的补丁。

一种方法是枚举键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages,然后InstallClient检查"WindowsUpdateAgent".

您显然可以使用Windows Update Agent API独立于注册表位置来读取它。

于 2011-02-24T16:40:43.743 回答
4

我发现应用到系统的安全和修补程序的最佳位置是 WMI QFE 对象列表 (WMIC QFE GET)。这已在所有 6.x 及更高版本的操作系统(Vista、W2008、Win7)上证明是准确的。W2003 还提供 QFE,但条目在标准卸载列表中重复。

于 2012-04-02T18:23:04.943 回答