Mise à jour de l’agent Windows Update

Windows Update Agent (WUA) se met à jour par différents moyens, selon la version de Windows s’exécutant sur l’appareil. Les anciennes versions de WUA peuvent ne pas être en mesure de se connecter aux services de mise à jour actuels, ne peuvent pas être compatibles avec toutes les mises à jour et ne peuvent pas prendre en charge toutes les API documentées. Voici comment s’assurer que WUA est entièrement mis à jour et compatible.

Sur les versions de Windows commençant par Windows 7 et Windows Server 2008 R2

les mises à jour de l’agent Windows Update (WUA) sont incluses dans les mises à jour périodiques régulières pour Windows distribuées via Windows Update ou Windows Server Update Services (WSUS). Vous n’avez pas besoin d’effectuer des étapes spéciales pour mettre à jour WUA sur ces versions Windows.

Sur les versions de Windows antérieures à Windows 7 et Windows Server 2008 R2

WUA se met automatiquement à jour lorsque les mises à jour automatiques se connectent à Windows Update ou à WSUS.

Si les mises à jour automatiques n’ont pas encore été exécutées, il est possible qu’un appareil exécutant ces versions Windows exécute une version antérieure de WUA qui ne prend pas en charge toutes les API documentées. Si vous recevez un résultat WU_E_SELFUPDATE_REQUIRED lorsque vous utilisez l’API WUA pour effectuer une analyse, un téléchargement ou une installation, cette erreur vous indique que la version installée de WUA est trop ancienne pour vous connecter aux services Windows Update actuels. Vous ne pouvez pas utiliser les API WUA normales pour mettre à jour WUA sur ces systèmes d’exploitation.

Un utilisateur peut mettre à jour manuellement WUA vers une version actuelle en ouvrant le panneau de configuration Windows Update, en sélectionnant Rechercher les mises à jour, puis en acceptant la mise à jour automatique qui s’affiche. Vous pouvez également mettre à jour WUA par programmation.

Pour mettre à jour par programmation WUA sur les versions de Windows antérieures à Windows 7 et Windows Server 2008 R2

  1. Utilisez les API WinHTTP pour télécharger Wuredist.cab.
  2. Utilisez les fonctions de chiffrement pour vérifier que la copie téléchargée de Wuredist.cab a une signature numérique à partir de Microsoft. Si vous ne pouvez pas vérifier la signature numérique, arrêtez.
  3. Utilisez les API d’interface de décompression de fichier pour extraire le fichier XML de Wuredist.cab.
  4. Utilisez les API Microsoft XML Core Services® (MSXML) pour charger le fichier XML et localiser le nœud WURedist/StandaloneRedist/architecture pour l’architecture de l’ordinateur. Par exemple, pour x86, recherchez le nœud WURedist/StandaloneRedist/architecture avec l’attribut nom de x86.
  5. Appelez IWindowsUpdateAgentInfo::GetInfo pour déterminer la version actuelle de WUA. Si IWindowsUpdateAgentInfo::GetInfo retourne un numéro de version qui est au moins aussi élevé que l’attribut clientVersion dans le nœud d’architecture que vous avez localisé, arrêtez.
  6. Utilisez les API MSXML pour lire l’attribut downloadUrl à partir du nœud d’architecture que vous avez localisé. downloadUrl vous donne l’URL de téléchargement du programme d’installation WUA approprié pour l’architecture de l’ordinateur.
  7. Utilisez les API WinHTTP pour télécharger le programme d’installation approprié.
  8. Utilisez la fonction CreateProcess ou une API similaire pour exécuter le programme d’installation téléchargé.