1

我正在探索以下两种获取 Windows 补丁信息的方法的可靠性。

  1. 使用 Windows 更新代理 - IUpdateSearcher 接口与 COM。
  2. 使用 WMIC QFE GET(通过客户端或带有 COM 的 WMI 接口)

以下是我对上述两种方法的疑问

使用 Windows 更新代理 - IUpdateSearcher 接口与 COM。

  1. IUpdateSearcher 是否浏览以下注册表并提供信息?
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\基于组件的服务
  2. 是否有任何其他注册表路径 IUpdateSearcher 寻找提供更新信息?
  3. IUpdateSearcher 是否提供了 WMIC QFE 提供的超集?

使用 WMIC QFE GET(通过客户端或带有 COM 的 WMI 接口)

  1. WMIC QFE 是否搜索以下注册表路径并提供信息?HKEY_LOCAL_MACHINE\Software\Microsoft\Updates (或) HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Updates
  2. WMIC QFE GET 是否有任何其他注册表路径用于提供更新信息?

另外,以上两种方式,

  1. 哪种方法是在不丢失数据的情况下获取更新信息的最佳方法?
  2. 哪种方法执行得更快?

有人可以为我的所有查询提供答案吗?

4

1 回答 1

1

当您使用该WMIC QFE GET命令时,相当于使用Win32_QuickFixEngineeringWMI 类执行查询,因为在 Windows Vista 中,此类仅返回由Component Based Servicing提供的更新,在较旧的 Windows 版本中使用 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotfixHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates注册表项来枚举更新。

IUpdateSearcher接口是Windows Update Agent API (WUA)的一部分,可用于枚举所有修复程序,包括通过 CBS 安装的修复程序、Microsoft Windows Installer (MSI) 或 Windows 更新站点提供的更新等。

因此,获取已安装 Windows 更新的更可靠方法是使用 WUA API。

于 2012-10-09T14:51:01.380 回答