如何在脱机时检测当前的窗口更新状态?



我将使用 wuapi 检测我的操作系统更新状态。

使用IUpdateSearcher::Search我可以做到,但这个功能只能在在线使用。

在离线时,我还使用了IUpdateServiceManager::AddScanPackageService函数来获取状态,但此函数需要wsusscn2.cab文件,并且此文件太大。

脱机时是否有任何其他 wuapi 来检测 Windows 更新状态,或者是否有任何注册表或系统文件来检测它?

谢谢你的帮助...

即使脱机,也可以使用 Windows Update API 搜索来查看需要哪些更新。可以在调用 Search 或 BeginSearch 之前将 IUpdateSearcher 对象的 Online 属性设置为 false。这样做将执行脱机扫描,其中 WU 只是重新评估它已经知道的更新。这将脱机工作,并且还将返回更快的结果。您应该注意两个缺点:

  • 脱机扫描显然不会返回自上次计算机执行联机扫描以来发布的任何新的或修改的更新的信息。
  • 如果自上次计算机执行联机扫描以来硬件或软件配置已更改,则脱机扫描可能不会返回有关由于配置更改而适用的更新的信息,即使这些更新在上次联机扫描时已经发布。举一个简单的例子,如果安装 Office,脱机扫描在下次执行联机扫描之前不会返回 Office 更新。这是因为 WU/MU/WSUS/SCCM 服务试图通过仅告知客户端可能适用的更新来节省时间和带宽,而不是将整个更新目录下载到每个客户端。由于您的计算机以前没有安装 Office,因此服务尚未告知您的计算机有关 Office 更新的信息。

相关内容

  • 没有找到相关文章

最新更新