La mise à jour cumulative KB5050009 de Windows 11 échoue avec le code 0x80070005 (“Access is denied”). Ce guide explique pourquoi, comment diagnostiquer la cause (souvent WDAC) et propose des correctifs fiables pour postes domestiques et environnements gérés.
Vue d’ensemble du problème
Sur plusieurs PC Windows 11, le téléchargement de la mise à jour KB5050009 reste figé à 0 % puis l’installation se termine par 0x80070005 : Access is denied. Le code 0x80070005 correspond à un refus d’accès : Windows Update, le service TrustedInstaller ou l’installeur CBS/Servicing ne parvient pas à manipuler un fichier (lecture, écriture, renommage, remplacement) nécessaire à la phase de staging ou de commit du package.
Causes identifiées
Dans les cas remontés, trois origines expliquent la majorité des échecs :
| Origine probable | Indications relevées |
|---|---|
Politiques d’intégrité de code (WDAC) – fichiers .cip dans C:\Windows\System32\CodeIntegrity\CiPolicies\Active | Entrées « STATUS_ACCESS_DENIED » dans CBS.log ou événements Code Integrity au moment du staging |
| Privilèges administrateur insuffisants ou ACL corrompues | Commandes takeown/icacls refusées, opérations du service de maintenance bloquées |
| Services Windows Update / connectivité instable | Téléchargement bloqué à 0 % puis échec systématique |
Avant de commencer : prérequis et bonnes pratiques
- Sauvegardez les données critiques (image système, fichiers utilisateurs).
- Ouvrez une session administrateur locale ou compte Azure AD ayant les droits d’administrateur.
- Vérifiez l’espace disque : 8–10 Go libres sur le lecteur système minimisent les risques de rollback.
- Assurez la stabilité réseau : éviter VPN instables / proxy filtrant pendant l’installation.
- Notez la date et l’heure ; synchronisez l’horloge (
control timedate.cpl> Internet).
Checklist rapide (si vous devez aller droit au but)
- Pause/Reprise de Windows Update + redémarrage.
- Lecture de
C:\Windows\Logs\CBS\CBS.log: chercher « Access is denied ». - Si des
.cipsont cités : neutraliser la politique WDAC locale (poste non géré), redémarrer. sfc /scannowpuisDISM /Online /Cleanup-Image /RestoreHealth.- Arrêt/redémarrage de BITS et Windows Update et renommer SoftwareDistribution.
- Tester l’installation hors ligne du package
.msu. - En entreprise : passer WDAC en mode Audit via Intune/GPO, relancer l’installation.
Procédure détaillée de diagnostic et de résolution
Redémarrer Windows Update proprement
Cette simple séquence débloque souvent les PC domestiques :
- Paramètres > Windows Update > Mettre en pause les mises à jour.
- Redémarrer le PC.
- Annuler la pause et cliquer sur Rechercher des mises à jour.
Analyser les journaux CBS et Code Integrity
Repérez les refus d’accès et les fichiers impliqués.
- CBS :
C:\Windows\Logs\CBS\CBS.log - Journaux Code Integrity : Observateur d’événements > Applications and Services Logs > Microsoft > Windows > CodeIntegrity > Operational
Filtrer rapidement les lignes pertinentes :
findstr /c:"Access is denied" /c:"STATUS_ACCESS_DENIED" "C:\Windows\Logs\CBS\CBS.log"
Neutraliser une politique WDAC fautive (poste non géré)
Uniquement si la machine n’est pas soumise à une stratégie centrale (Intune/GPO) : un fichier .cip actif peut bloquer la maintenance. L’idée est de renommer provisoirement ce fichier pour laisser l’installeur opérer.
- Ouvrir Invite de commandes (Admin).
- Lancer :
cd /d C:\Windows\System32\CodeIntegrity\CiPolicies\Active
takeown /f {GUID}.cip
icacls {GUID}.cip /grant administrators:F
ren {GUID}.cip {GUID}.cip.old
Remarques importantes :
- Remplacez
{GUID}par le nom exact du fichier listé dansCBS.logou visible dans le dossier. - Redémarrez puis relancez la recherche de mises à jour.
- Après l’installation réussie, restaurez la politique si nécessaire (renommez
.cip.olden.cip) et vérifiez qu’elle n’empêche plus les mises à jour. - En entreprise, ne pas court-circuiter une politique de sécurité : utilisez plutôt le mode Audit (voir plus bas).
Réparer l’image système
Ces deux commandes corrigent fichiers système et magasin de composants (component store) :
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Si DISM ne trouve pas les sources, montez un ISO de la même version de Windows 11 et indiquez la source :
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:D:\sources\install.wim:1 /LimitAccess
Désactiver temporairement l’antivirus tiers et tester en démarrage minimal
- Désactivez l’AV tiers (ex. Avast) le temps de l’installation.
- Démarrage minimal :
msconfig> Démarrage sélectif, désactivez les éléments non Microsoft dans Services, puis redémarrez.
Réinitialiser les composants Windows Update
Procédure standard : arrêter les services, renommer les caches, relancer.
net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old
net start msiserver
net start cryptsvc
net start bits
net start wuauserv
Astuce : si un service refuse l’arrêt, utilisez tasklist/taskkill pour fermer l’application bloquante, puis réessayez.
Installer KB5050009 hors ligne
Quand Windows Update échoue mais que le système est sain, l’installation locale du package corrige souvent la situation.
- Téléchargez le fichier
.msucorrespondant à votre édition et architecture. - Exécutez-le ou utilisez
wusa:
wusa.exe "C:\Chemin\KB5050009.msu" /quiet /norestart
En cas d’échec, extrayez le .cab et injectez-le avec DISM :
expand -F:* "C:\Chemin\KB5050009.msu" C:\Temp\KB5050009
DISM /Online /Add-Package /PackagePath:"C:\Temp\KB5050009\*.cab"
Cas des environnements gérés (Intune/GPO)
Si WDAC, AppLocker ou d’autres contrôles d’application sont déployés :
- Identifier la stratégie : Intune (Endpoint security > Application control) ou GPO (AppLocker / WDAC).
- Placer WDAC en mode Audit le temps de l’installation : la politique journalise sans bloquer.
- Déployer la mise à jour (anneau pilote, puis généralisation).
- Repasser en mode Enforced après validation.
- Vérifier BitLocker : s’assurer que la protection ne bloque pas l’accès aux fichiers temporaires pendant la maintenance (rare, mais à contrôler sur postes à disque saturé).
Pourquoi WDAC peut provoquer 0x80070005
WDAC (Windows Defender Application Control) applique des règles d’exécution basées sur l’intégrité de code. Pendant l’installation d’une mise à jour cumulative :
- Le moteur CBS met en staging des binaires signés et des catalogues (
.cat). - Le service TrustedInstaller remplace des fichiers en mode protégé.
- Si une politique WDAC/CI restrictive est active (fichier
.cip), certaines opérations de remplacement/chargement peuvent être refusées, générant « Access is denied ».
D’où l’efficacité des approches : mode Audit en géré, ou renommage temporaire du .cip en non géré.
Signes typiques dans les journaux
| Symptôme | Journal | Interprétation |
|---|---|---|
| Téléchargement figé à 0 % | WindowsUpdate.log (via Get-WindowsUpdateLog) | Problème BITS/proxy/cache. Passer en installation hors ligne ou réinitialiser WU. |
| Lignes « Access is denied » | CBS.log | Bogue d’ACL, TrustedInstaller bloqué, politique WDAC active, fichier verrouillé. |
| Événements CodeIntegrity | Observateur > CodeIntegrity | Blocages d’exécution liés à WDAC (mode Enforced). |
Méthodes avancées (au besoin)
Installer le package depuis WinRE ou en mode sans échec
Si un pilote ou un agent verrouille des fichiers système, le mode minimal aide :
- Démarrer en mode sans échec réseau.
- Lancer l’installation hors ligne (
wusaouDISM /Add-Package).
Réparer des ACL corrompues
Réinitialisez les autorisations par défaut sur les emplacements critiques :
icacls C:\Windows\SoftwareDistribution /reset /t /c
icacls C:\Windows\servicing /reset /t /c
icacls C:\Windows\WinSxS /reset /t /c
Puis assurez-vous que TrustedInstaller est propriétaire des répertoires sensibles :
icacls C:\Windows\servicing /setowner "NT SERVICE\TrustedInstaller" /t /c
icacls C:\Windows\WinSxS /setowner "NT SERVICE\TrustedInstaller" /t /c
Nettoyage du cache de packages
Sur des systèmes très anciens/patchés, un cleanup aide :
DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Proxy/SSL et réseau
Si l’accès Internet passe par un proxy strict, purgez la config WinHTTP :
netsh winhttp reset proxy
Videz également DNS et cache WinINET :
ipconfig /flushdns
rundll32 inetcpl.cpl,ClearMyTracksByProcess 8
Playbook selon le contexte
| Contexte | Actions prioritaires | Critère de succès |
|---|---|---|
| PC domestique | Pause/reprise WU → SFC/DISM → Réinit WU → Installation hors ligne | Mise à jour s’installe, plus d’erreur 0x80070005 |
| Poste non géré avec WDAC locale | Renommer .cip → redémarrer → installer → restaurer si besoin | Installation réussie, système stable |
| Entreprise (Intune/GPO) | WDAC en Audit → déployer KB → rebasculer en Enforced après validation | Anneau pilote ok, déploiement généralisé |
Validation post-correctif
- Paramètres > Windows Update : statut « À jour », KB affichée dans l’historique.
- Commande :
wmic qfe list | find "KB5050009"(ouGet-HotFixen PowerShell). - Journaux : plus d’« Access is denied » dans
CBS.logaprès l’installation. - Redémarrages : aucun rollback, boot normal.
FAQ rapide
Renommer un fichier .cip est-il sûr ?
Sur un poste non géré, oui si c’est temporaire et documenté. Remettez la politique après installation. En entreprise, préférez le mode Audit.
Quelle différence entre WDAC et AppLocker ?
AppLocker contrôle des applications par règles plus « haute » (éditeur, chemins). WDAC applique une intégrité de code plus profonde. Une politique WDAC stricte peut bloquer des opérations de maintenance système.
Pourquoi 0x80070005 apparaît-il sur un seul poste ?
ACL locales, cache WU corrompu, agent tiers, ou une politique CI résiduelle. Les étapes de réinitialisation et l’installation hors ligne isolent la cause.
Dois-je désinstaller l’antivirus ?
Non. Désactivez-le temporairement pour tester. Réactivez-le dès la mise à jour terminée.
Tableau « pense-bête » des commandes
| Objectif | Commande |
|---|---|
| Rechercher « Access is denied » | findstr /c:"Access is denied" "C:\Windows\Logs\CBS\CBS.log" |
| Réparer fichiers système | sfc /scannow |
| Réparer magasin de composants | DISM /Online /Cleanup-Image /RestoreHealth |
| Réinitialiser WU | net stop wuauserv & net stop bits & ren %systemroot%\SoftwareDistribution SoftwareDistribution.old & net start bits & net start wuauserv |
| Installer hors ligne (silencieux) | wusa.exe "C:\Chemin\KB5050009.msu" /quiet /norestart |
| Neutraliser WDAC locale | takeown /f {GUID}.cip & icacls {GUID}.cip /grant administrators:F & ren {GUID}.cip {GUID}.cip.old |
Bonnes pratiques pour éviter le retour de l’erreur
- Documentez les politiques de sécurité (WDAC/AppLocker) et leur mode (Audit vs Enforced).
- Surveillez l’espace disque et mettez en place une alerte sur le volume système.
- Programmez un nettoyage périodique du component store si vos images sont pérennes.
- Validez en anneau pilote les mises à jour avant de les généraliser (entreprise).
- Contrôlez les services Windows Modules Installer (TrustedInstaller) et BITS : démarrage et permissions corrects.
Conclusion
Dans la majorité des cas, l’échec d’installation de KB5050009 avec 0x80070005 provient d’une politique WDAC trop stricte, d’ACL défaillantes ou d’un cache Windows Update corrompu. En appliquant la démarche ci‑dessus — pause/reprise WU, analyse des journaux, neutralisation ciblée de WDAC (ou passage en Audit), SFC/DISM, réinitialisation des composants WU et installation hors ligne — vous restaurez la capacité de mise à jour et résorbez durablement l’erreur 0x80070005. Sur poste domestique, la solution est souvent immédiate ; en entreprise, la coordination avec l’équipe sécurité et l’usage du mode Audit permettent un déploiement maîtrisé.
Résumé exécutable
- Scénario domestique : la pause/reprise de Windows Update ou le renommage du fichier
.cipsuffit généralement. - Scénario entreprise : la mise à jour s’installe dès que les politiques WDAC bloquantes sont levées ou ajustées (mode Audit), puis rebasculées après validation.
Ces étapes devraient restaurer l’installation de la KB5050009 et supprimer l’erreur 0x80070005.

