Поделиться через


Обновление агента клиентский компонент Центра обновления Windows

агент клиентский компонент Центра обновления Windows (WUA) обновляется различными способами в зависимости от версии Windows, работающей на устройстве. Старые версии WUA могут не подключаться к текущим службам обновления, могут быть несовместимы со всеми обновлениями и поддерживать не все задокументированные API. Вот как убедиться, что WUA полностью обновлена и совместима.

В версиях Windows, начиная с Windows 7 и Windows Server 2008 R2

Обновления агента клиентский компонент Центра обновления Windows (WUA) включаются в регулярные периодические обновления для Windows, распространяемые через клиентский компонент Центра обновления Windows или Windows Server Update Services (WSUS). Для обновления WUA в этих версиях Windows не нужно предпринимать никаких особых действий.

В версиях Windows до Windows 7 и Windows Server 2008 R2

WUA автоматически обновляется при подключении автоматического Обновления к клиентский компонент Центра обновления Windows или WSUS.

Если автоматическая Обновления еще не была успешно запущена, возможно, что устройство под управлением этих версий Windows будет работать под управлением более старой версии WUA, которая не поддерживает все задокументированные API. Если вы получаете WU_E_SELFUPDATE_REQUIRED результат при использовании API WUA для проверки, скачивания или установки, эта ошибка сообщает, что установленная версия WUA слишком старая для подключения к текущим службам клиентский компонент Центра обновления Windows. Вы не можете использовать обычные API WUA для обновления WUA в этих операционных системах.

Пользователь может вручную обновить WUA до текущей версии, открыв панель управления клиентский компонент Центра обновления Windows, выбрав Проверить наличие Обновления, а затем приняв появившемся самообновления. Кроме того, вы можете обновить WUA программным способом.

Программное обновление WUA в версиях Windows до Windows 7 и Windows Server 2008 R2

  1. Используйте API-интерфейсы WinHTTP для скачивания Wuredist.cab.
  2. Используйте функции шифрования , чтобы убедиться, что загруженная копия Wuredist.cab имеет цифровую подпись от корпорации Майкрософт. Если не удается проверить цифровую подпись, остановите работу.
  3. Используйте API интерфейса распаковки файла для извлечения XML-файла из Wuredist.cab.
  4. Используйте API-интерфейсы MSXML (MSXML), чтобы загрузить XML-файл и найти узел WURedist/StandaloneRedist/architecture для архитектуры компьютера. Например, для x86 найдите узел WURedist/StandaloneRedist/architecture с атрибутом name x86.
  5. Вызовите метод IWindowsUpdateAgentInfo::GetInfo , чтобы определить текущую версию WUA. Если функция IWindowsUpdateAgentInfo::GetInfo возвращает номер версии, который по крайней мере равен значению атрибута clientVersion в расположенном узле архитектуры, остановите работу.
  6. Используйте API MSXML для чтения атрибута downloadUrl из узла архитектуры, который вы нашли. downloadUrl предоставляет URL-адрес для скачивания соответствующего установщика WUA для архитектуры компьютера.
  7. Используйте API-интерфейсы WinHTTP , чтобы скачать соответствующий установщик.
  8. Используйте функцию CreateProcess или аналогичный API для выполнения скачанной программы установки.