URL загрузки патчей Microsoft
Я делаю свой собственный проект, где я буду искать обновления Microsoft, но не буду загружать / устанавливать с помощью WUA API
, я использую WUA API
только для обнаружения и получения свойств отдельных исправлений.
Чтобы заставить вышеупомянутый сценарий работать, через ISearchResult
Я могу получить интерфейс обновления. Из этого есть одно свойство DownloadContent
который даст мне IUpdateDownloadContentCollection
интерфейс, через который я получу IUpdateDownloadContent
интерфейс и, наконец, я могу получить URL-адрес загрузки указанного патча.
Первоначально DownloadUrl
собственностью IUpdateDownloadContent
не смог дать ни одного URL. Позже я узнал, что downloadUrl
был доступен только для патчей type ='Driver'
, а не для "Тип программного обеспечения".
Я искал через интернет, но не повезло:(.
Причина, по которой я не хочу использовать COM API для загрузки и установки, заключается в том, что я видел каждый раз, когда мы используем WUA API
чтобы загрузить или установить, запускается процесс "rustinstaller.exe", который занимает большую часть системных ресурсов и замедляет его.
Может кто-нибудь, пожалуйста, скажите мне, почему я не могу получить DownloadUrl
для исправлений / обновлений типа = "Программное обеспечение".
2 ответа
После стольких исследований я наконец получил ответ. Чтобы получить DownloadUrl
из Type = Software
мы должны использовать BundledUpdates
собственностью Iupdate
интерфейс, который будет указывать на IupdateClassification
что в свою очередь даст нам Iupdate
Интерфейс отсюда мы можем получить DownloadUrl
от DownloadContent
Этот PSEUDO-CODE показывает, как получить все 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
}
}
}