Corriger la boucle KB5034765 (Windows 11 23H2) : erreur 0x80070002, réinitialisation Windows Update et vérifications DISM/SFC

Windows 11 23H2 boucle sur l’installation de KB5034765 avec l’erreur 0x80070002 ? Voici un guide pas‑à‑pas fiable pour casser la boucle, réparer Windows Update, vérifier l’état réel du correctif et prévenir toute récidive.

Sommaire

Boucle d’installation de KB5034765 avec l’erreur 0x80070002

Problématique

  • Windows 11 23H2 signale que la mise à jour cumulative KB5034765 est déjà installée, puis tente néanmoins de la réinstaller.
  • Chaque tentative échoue avec le code 0x80070002 (« fichier introuvable »), symptôme classique d’un cache Windows Update corrompu ou incomplet.

Symptômes typiques

  • Historique Windows Update affichant plusieurs échecs « Échec de l’installation » pour KB5034765.
  • Message « Certains fichiers de mise à jour sont manquants ou présentent des problèmes. »
  • Redémarrages inutiles et tentative de réinstallation à chaque recherche d’updates.

Pourquoi l’erreur 0x80070002 survient

Windows Update s’appuie sur plusieurs composants : services BITS et wuauserv, dossiers de cache SoftwareDistribution et catroot2, manifestes et catalogues de signatures. Lorsque ces éléments sont incomplets, mal synchronisés ou corrompus (coupure réseau, antivirus trop agressif, interruption pendant l’installation, pilote défectueux), l’installateur ne retrouve plus certains fichiers référencés dans le manifeste de la mise à jour, d’où le 0x80070002.

Solutions proposées et étapes clés

ÉtapeActionCommandes / Outils
1. Réinitialiser les composants Windows UpdateArrêter les services BITS, Windows Update et CryptSvc ; renommer les dossiers de cache pour forcer leur recréation ; supprimer les fichiers de gestion de téléchargement.net stop bits net stop wuauserv net stop cryptsvc net stop msiserver ren %systemroot%\SoftwareDistribution SoftwareDistribution.old ren %systemroot%\System32\catroot2 catroot2.old del /q /f "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr*.dat" del /q /f "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat" net start msiserver net start cryptsvc net start wuauserv net start bits
2. Masquer la mise à jour récalcitranteUtiliser l’utilitaire « Afficher ou masquer les mises à jour » (wushowhide.diagcab) pour masquer KB5034765 et empêcher son téléchargement. Si l’outil n’est plus disponible, recourir à PSWindowsUpdate.PowerShell (Admin) Set-ExecutionPolicy RemoteSigned -Scope Process -Force Install-Module -Name PSWindowsUpdate -Force Get-WindowsUpdate -KBArticleID 5034765 | Hide-WindowsUpdate -Confirm:$false
3. Vérifier l’état de la mise à jourTélécharger le package autonome .msu depuis le Catalogue Microsoft Update. S’il annonce « déjà installé », le correctif est bien présent.wusa windows11.0-kb5034765-x64.msu /quiet /norestart REM ou DISM /Online /Get-Packages | findstr 5034765
4. Réparer les fichiers système (option utile)Exécuter DISM puis SFC afin d’écarter toute corruption résiduelle.DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
5. Redémarrer et relancer Windows UpdateConfirmer qu’aucune tentative de réinstallation ni erreur 0x80070002 ne se reproduit.

Procédure détaillée et bonnes pratiques

Avant de commencer

  • Ouvrez Invite de commandes (Admin) ou PowerShell (Admin).
  • Assurez-vous d’avoir une connexion stable et au moins 5 Go d’espace libre sur le disque système.
  • Désactivez temporairement les protections « surveillance active » d’un antivirus tiers si présent (réactivez‑les ensuite).
  • Vérifiez l’horloge, le fuseau horaire et la synchronisation NTP : une date/heure incorrecte peut invalider des signatures.

Option A — Script .BAT prêt à l’emploi (réinitialisation approfondie)

Copiez-collez le script ci‑dessous dans un fichier Reset-WU-KB5034765.bat, exécutez‑le en tant qu’administrateur. Il inclut la réinitialisation des services, des caches et l’enregistrement silencieux de DLL Windows Update (sans aucun lien externe requis).

@echo off
title Reset Windows Update - KB5034765
echo Arrêt des services...
net stop bits >nul 2>&1
net stop wuauserv >nul 2>&1
net stop cryptsvc >nul 2>&1
net stop msiserver >nul 2>&1

echo Renommage des dossiers de cache...
if exist "%systemroot%\SoftwareDistribution" ren "%systemroot%\SoftwareDistribution" "SoftwareDistribution.old"
if exist "%systemroot%\System32\catroot2" ren "%systemroot%\System32\catroot2" "catroot2.old"

echo Nettoyage des fichiers de téléchargement...
del /q /f "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr*.dat" 2>nul
del /q /f "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat" 2>nul

echo (Optionnel) Réenregistrement de composants WU...
for %%i in (wuapi.dll wuaueng.dll wups.dll wups2.dll wuwebv.dll wucltux.dll wudriver.dll) do (
regsvr32 /s %%i
)

echo Redemarrage des services...
net start msiserver >nul 2>&1
net start cryptsvc >nul 2>&1
net start wuauserv >nul 2>&1
net start bits >nul 2>&1

echo Operation terminee. Redemarrez le PC puis verifiez Windows Update.
pause

Option B — PowerShell (administrateur)

Même logique, en PowerShell natif. À privilégier si vous utilisez déjà PSWindowsUpdate pour masquer/démasquer KB5034765.

# Réinitialisation Windows Update en PowerShell
Stop-Service -Name BITS,wuauserv,cryptsvc,MSIServer -Force -ErrorAction SilentlyContinue

Rename-Item -Path "$env:SystemRoot\SoftwareDistribution" -NewName "SoftwareDistribution.old" -ErrorAction SilentlyContinue
Rename-Item -Path "$env:SystemRoot\System32\catroot2" -NewName "catroot2.old" -ErrorAction SilentlyContinue

Remove-Item -Path "$env:ProgramData\Microsoft\Network\Downloader\qmgr*.dat" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:ALLUSERSPROFILE\Application Data\Microsoft\Network\Downloader\qmgr*.dat" -Force -ErrorAction SilentlyContinue

# (Optionnel) Réenregistrement rapide des DLL clés

$wuDlls = "wuapi.dll","wuaueng.dll","wups.dll","wups2.dll","wuwebv.dll","wucltux.dll","wudriver.dll"
foreach ($dll in $wuDlls) { Start-Process regsvr32 "/s $dll" -NoNewWindow -Wait }

Start-Service -Name MSIServer,cryptsvc,wuauserv,BITS

Masquer temporairement KB5034765

Le masquage permet de stopper la boucle pendant que vous vérifiez l’état réel de l’installation. Deux méthodes :

  1. wushowhide.diagcab : cochez KB5034765Masquer.
  2. PSWindowsUpdate :
Set-ExecutionPolicy RemoteSigned -Scope Process -Force
Install-Module -Name PSWindowsUpdate -Force
Get-WindowsUpdate -KBArticleID 5034765 | Hide-WindowsUpdate -Confirm:$false

# Pour réafficher plus tard

Get-WindowsUpdate -KBArticleID 5034765 | Show-WindowsUpdate -Confirm:$false

Vérifier si KB5034765 est réellement installé

Plusieurs méthodes, sans dépendre de l’interface graphique :

  • WUSA (installeur autonome) : relancez le package .msu. S’il répond « déjà installé », le correctif est bien présent.
wusa windows11.0-kb5034765-x64.msu /quiet /norestart
  • DISM (inventaire des packages) :
DISM /Online /Get-Packages | findstr 5034765
  • PowerShell (utile mais parfois incomplet pour les cumulatives) :
Get-HotFix -Id KB5034765

Réparer l’image système et les fichiers protégés

Lorsque le cache est propre mais que l’erreur persiste, réparez l’image Windows et les fichiers systèmes. L’ordre recommandé est DISM puis SFC.

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Si DISM ne parvient pas à récupérer les sources, vous pouvez monter une image ISO officielle de Windows 11 et pointer explicitement vers \sources\install.wim (indispensable hors ligne). Exemple avancé :

DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:D:\sources\install.wim:1 /LimitAccess

Relancer Windows Update proprement

  1. Redémarrez l’ordinateur.
  2. Ouvrez Paramètres > Windows Update et cliquez sur Rechercher des mises à jour.
  3. Si KB5034765 était masquée, laissez‑la masquée jusqu’à confirmation que l’état « Installée » est stable.

Prévention et hygiène Windows Update

  • Conserver un espace disque confortable avant les Patch Tuesday.
  • Planifier une réinitialisation rapide de SoftwareDistribution en cas d’échecs répétés.
  • Installer manuellement une cumulative critique via le Catalogue Microsoft Update quand les canaux automatiques échouent.
  • Éviter les coupures réseau et la mise en veille pendant l’installation.

Résultats observés

  • Après réinitialisation et masquage, Windows Update cesse de proposer KB5034765 et les erreurs 0x80070002 disparaissent.
  • La même procédure a également supprimé au démarrage un message SmartAudio3.exe – Bad Image lié au fichier idg9dxva64.dll dans le magasin de pilotes, preuve qu’un cache Windows Update remis à neuf peut éliminer d’autres anomalies système.

Informations complémentaires utiles

  • Sens du code 0x80070002 : le service Windows Update ne trouve pas certains fichiers référencés dans le manifeste de la mise à jour.
  • Outil wushowhide.diagcab : n’est plus maintenu officiellement ; conservez‑en une copie ou préférez PSWindowsUpdate, qui offre des fonctions équivalentes depuis PowerShell.

Bonnes pratiques

  • Garder un espace disque suffisant avant toute mise à jour importante.
  • Programmer une maintenance trimestrielle : nettoyage des caches, redémarrages réguliers, vérification de l’intégrité avec DISM et SFC.
  • Utiliser l’installation manuelle via le Catalogue Microsoft Update quand les téléchargements automatiques échouent.

Dépannage avancé (facultatif)

Réinitialiser la pile réseau de Windows Update

À utiliser si les erreurs persistent et que vous suspectez un proxy ou une pile HTTP incohérente.

netsh winhttp reset proxy
netsh winsock reset
ipconfig /flushdns

Redémarrez ensuite l’ordinateur.Vérifier les journaux pertinents

Observateur d’événements → Applications and Services LogsMicrosoftWindowsWindowsUpdateClientOperational. Recherchez les événements d’échec autour des tentatives d’installation de KB5034765.Paramètres de stratégie (WSUS/entreprise)

  • Si vous dépendez d’un WSUS, vérifiez la clé de registre UseWUServer et la conformité des stratégies Ne pas se connecter aux emplacements Windows Update sur Internet.
  • Désactivez temporairement la stratégie « Inclure les pilotes avec Windows Update » pour isoler la cumulative d’un éventuel pilote fautif.

FAQ rapide

  • 0x80070002 vs 0x80070003 ? — 0x80070003 indique souvent un décalage d’index ou de chemin ; la cure reste similaire (réinitialiser les caches, DISM, SFC).
  • PSWindowsUpdate non reconnu ? — Ouvrez PowerShell en admin, exécutez Set-ExecutionPolicy RemoteSigned -Scope Process -Force, puis Install-Module PSWindowsUpdate -Force.
  • Comment « démasquer » KB5034765 ?Get-WindowsUpdate -KBArticleID 5034765 | Show-WindowsUpdate -Confirm:$false.
  • WUSA renvoie « déjà installé » mais Windows Update insiste ? — Le masquage + réinitialisation supprime la tentative répétée. Vérifiez aussi DISM /Online /Get-Packages.

Checklist express

  1. Réinitialisez les composants Windows Update (services, SoftwareDistribution, catroot2, fichiers qmgr).
  2. Masquez KB5034765 (wushowhide ou PSWindowsUpdate).
  3. Vérifiez localement l’état de KB5034765 (WUSA/DISM).
  4. Lancez DISM puis SFC pour corriger toute corruption restante.
  5. Redémarrez, relancez Windows Update et confirmez la disparition de 0x80070002.

Scripts réutilisables

Masquer et réafficher KB5034765 (PowerShell)

# Masquer
Set-ExecutionPolicy RemoteSigned -Scope Process -Force
Install-Module -Name PSWindowsUpdate -Force
Get-WindowsUpdate -KBArticleID 5034765 | Hide-WindowsUpdate -Confirm:$false

# Réafficher

Get-WindowsUpdate -KBArticleID 5034765 | Show-WindowsUpdate -Confirm:$false

Vérification DISM rapide

DISM /Online /Get-Packages | findstr 5034765

Réparation intégrité

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Conclusion

La boucle d’installation de KB5034765 avec l’erreur 0x80070002 est presque toujours liée à un cache Windows Update dégradé. En restaurant la santé des composants (services, caches, manifestes), en masquant temporairement la cumulative et en vérifiant son état via WUSA/DISM, vous stabilisez Windows Update et éliminez la récidive. La procédure détaillée ci‑dessus est sûre, reproductible et améliore souvent d’autres symptômes (pilotes mal signés, messages « Bad Image », etc.).

Récapitulatif en un coup d’œil

Action cléButCommande
Réinitialiser WUPurger les caches corrompusren SoftwareDistribution / catroot2, net stop/start
Masquer KB5034765Stopper la boucle d’essaiswushowhide ou PSWindowsUpdate
Vérifier l’étatConfirmer si déjà installéwusa ... /quiet & DISM /Get-Packages
DISM + SFCRéparer l’image et les fichiersDISM /RestoreHealth, sfc /scannow
RedémarrerFinaliser la correction

Astuce : conservez votre script de réinitialisation à portée de main. En cas d’échec Windows Update à l’avenir, exécutez‑le avant toute autre tentative : vous gagnerez un temps précieux.

Sommaire