下载Microsoft补丁的URL

时间:2015-03-04 12:10:25

标签: c++ com wuapi

我正在创建自己的项目,我将搜索Microsoft更新,但不会使用WUA API下载/安装。我将仅使用WUA API进行检测并获取各个补丁的属性。

要使上述方案有效,可以通过ISearchResult获取更新界面。从那里有一个属性DownloadContent,它将为我提供IUpdateDownloadContentCollection接口,我将通过该接口获得IUpdateDownloadContent接口,最后我可以获得指定补丁的下载URL。

最初DownloadUrl的{​​{1}}属性无法提供任何网址。后来我发现IUpdateDownloadContent仅适用于downloadUrl的补丁,而不适用于“软件类型”。

我通过互联网搜索但没有运气:(。

我不想使用COM API进行下载和安装的原因是因为我看到每当我们使用type ='Driver'下载或安装时,“trustedinstaller.exe”进程开始运行并占用大部分系统资源并放慢速度。

有人可以告诉我为什么我无法收到WUA API类型='软件'的补丁/更新。

2 个答案:

答案 0 :(得分:2)

经过这么多的研究,我终于得到了答案。 要获得DownloadUrl的{​​{1}},我们必须使用Type = Software接口的BundledUpdates属性,该属性将指向IupdateIupdateClassification反过来会给我们Iupdate DownloadUrl 1}}从这里接口,我们可以从DownloadContent

获取{{1}}

答案 1 :(得分:-1)

此伪代码显示了如何获取搜索到的更新的所有 URL。

SearchResult = UpdateSearcher.Search("Type='Software'")

FOR EACH (SearchResult.Updates AS Update) {
  FOR EACH (Update.BundledUpdates AS BundledUpdate) {
    FOR EACH (BundledUpdate.DownloadContents AS DownloadContent) {
      
      DISPLAY DownloadContent.DownloadUrl

    }
  }
}