Udostępnij za pośrednictwem


Aktualizowanie agenta usługi Windows Update

Program Windows Update Agent (WUA) aktualizuje się za pomocą różnych środków, w zależności od wersji systemu Windows działającego na urządzeniu. Stare wersje usługi WUA mogą nie być w stanie nawiązać połączenia z bieżącymi usługami aktualizacji, mogą nie być zgodne ze wszystkimi aktualizacjami i mogą nie obsługiwać wszystkich udokumentowanych interfejsów API. Oto jak zapewnić, że usługa WUA jest w pełni zaktualizowana i zgodna.

w wersjach systemu Windows począwszy od systemów Windows 7 i Windows Server 2008 R2

Aktualizacje programu Windows Update Agent (WUA) są uwzględniane w regularnych okresowych aktualizacjach systemu Windows dystrybuowanych za pośrednictwem usługi Windows Update lub windows Server Update Services (WSUS). Nie trzeba wykonywać żadnych specjalnych kroków w celu zaktualizowania usługi WUA w tych wersjach systemu Windows.

w wersjach systemu Windows wcześniejszych niż Windows 7 i Windows Server 2008 R2

Usługa WUA automatycznie aktualizuje się, gdy aktualizacje automatyczne łączą się z usługą Windows Update lub Z usługą WSUS.

Jeśli aktualizacje automatyczne nie zostały jeszcze pomyślnie uruchomione, możliwe, że na urządzeniu z uruchomionymi tymi wersjami systemu Windows będzie uruchomiona starsza wersja usługi WUA, która nie obsługuje wszystkich udokumentowanych interfejsów API. Jeśli otrzymasz wynik WU_E_SELFUPDATE_REQUIRED podczas korzystania z interfejsu API usługi WUA do skanowania, pobierania lub instalowania, ten błąd informuje o tym, że zainstalowana wersja usługi WUA jest zbyt stara, aby nawiązać połączenie z bieżącymi usługami Windows Update. Nie można używać normalnych interfejsów API usługi WUA do aktualizowania usługi WUA w tych systemach operacyjnych.

Użytkownik może ręcznie zaktualizować usługę WUA do bieżącej wersji, otwierając panel sterowania usługi Windows Update, wybierając pozycję Sprawdź aktualizacje, a następnie akceptując wyświetloną samodzielnie aktualizację. Alternatywnie można programowo zaktualizować usługę WUA.

Aby programowo zaktualizować usługę WUA w wersjach systemu Windows wcześniejszych niż Windows 7 i Windows Server 2008 R2

  1. Użyj interfejsów API WinHTTP, aby pobrać Wuredist.cab.
  2. Użyj funkcji kryptograficznych, aby sprawdzić, czy pobrana kopia Wuredist.cab ma podpis cyfrowy firmy Microsoft. Jeśli nie możesz zweryfikować podpisu cyfrowego, zatrzymaj.
  3. Użyj interfejsu dekompresji plików , aby wyodrębnić plik XML z Wuredist.cab.
  4. Użyj interfejsów API Microsoft XML Core Services (MSXML) aby załadować plik XML i zlokalizować węzeł WURedist/StandaloneRedist/architecture dla architektury komputera. Na przykład dla systemu x86, zlokalizuj węzeł WURedist/StandaloneRedist/architecture z atrybutem nazwy dla x86.
  5. Wywołaj IWindowsUpdateAgentInfo::GetInfo, aby określić bieżącą wersję usługi WUA. Jeśli IWindowsUpdateAgentInfo::GetInfo zwraca numer wersji, który jest co najmniej tak wysoki, jak atrybut clientVersion w znalezionym węźle architektury, zatrzymaj się.
  6. Użyj interfejsów API MSXML, aby odczytać atrybut downloadUrl z węzła architektury, który zlokalizowałeś. downloadUrl zapewnia adres URL do pobierania odpowiedniego instalatora usługi WUA do architektury komputera.
  7. Użyj interfejsów API WinHTTP, aby pobrać odpowiedni instalator.
  8. Użyj funkcji CreateProcess lub podobnego interfejsu API, aby wykonać pobrany instalator.