C#上的WSUS更新

时间:2011-02-08 14:06:23

标签: c# winapi

如何立即下载补丁? 问题是:我开始下载并关闭我的应用程序,当我启动它时,我需要知道那里发生了什么。

1 个答案:

答案 0 :(得分:2)

我找到了方法。我在注册表中保存更新ID列表,并从注册表启动应用程序reed,开始下载,就像那样

IUpdateSearcher updateSearcher = updateSession.CreateUpdateSearcher();
ISearchResult searchResult = updateSearcher.Search("IsInstalled = 0");

var updateCollection = new UpdateCollection();

for (int i = 0; i < searchResult.Updates.Count; i++) { IUpdate update = searchResult.Updates[i]; //update id from registry if (update.Identity.UpdateID == "081cab8e-faf5-421b-be7c-3e796837f1ff") { updateCollection.Add(update); break; } } downloader = updateSession.CreateUpdateDownloader(); downloader.Updates = updateCollection; var downloadJob = downloader.BeginDownload(new DownloadProgress(), new DownloadCompleted(), this); var progress = downloadJob.GetProgress();

并在var progress我得到了正在下载的更新及其进展