Sur Windows Server 2022, la mise à jour cumulative KB5046616 peut échouer avec des codes variés et refuser la désinstallation. Ce guide structuré propose un plan d’action concret pour rétablir Windows Update ou retirer proprement le correctif, avec commandes, journaux et garde‑fous.
Problème de mise à jour KB5046616 sur Windows Server 2022
Vue d’ensemble de la question
Un administrateur tente d’installer la mise à jour cumulative KB5046616 via Windows Update sur Windows Server 2022 (Desktop Experience ou Server Core). L’installation retourne un échec et la tentative de désinstallation via l’interface échoue également. Objectifs : 1) remettre en état Windows Update, 2) si nécessaire désinstaller proprement le correctif problématique, 3) garantir que le serveur retrouve un état stable et maintenable.
Ce qu’il faut savoir avant d’agir
- LCU & SSU : depuis Windows Server 2022, la Servicing Stack Update (SSU) est généralement fusionnée à la Last Cumulative Update (LCU). Des incohérences de la pile de maintenance peuvent toutefois empêcher l’installation ou la désinstallation.
- Composant store (WinSxS) : la majorité des erreurs (0x800f0831, 0x80073701, 0x800f0988…) proviennent d’un magasin de composants ou d’un cache Windows Update en mauvais état.
- Server Core vs Desktop Experience : sur Core, plusieurs assistants graphiques n’existent pas ; privilégiez
DISM
,sfc
, PowerShell et l’Observateur d’événements. - Production : prévoyez un créneau de maintenance, un snapshot (VM) ou une sauvegarde d’état du système. Évitez toute opération risquée sur un contrôleur de domaine sans plan de retour arrière.
Réponse & pistes de résolution
Exécuter l’utilitaire de résolution des problèmes Windows Update
(Desktop Experience) : Paramètres ▸ Mise à jour et sécurité ▸ Dépannage ▸ Windows Update, puis appliquez les corrections proposées.
Alternatives :
msdt.exe /id WindowsUpdateDiagnostic
si disponible.- Sur Server Core, passez directement aux étapes de réparation par
DISM
/SFC
et réinitialisation des composants.
Réparer l’image système et les fichiers protégés
Exécutez en invite de commandes administrateur :
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Attendez la fin de DISM
puis lancez SFC
. Redémarrez si des réparations ont eu lieu et tentez à nouveau Windows Update.
Désinstaller manuellement la mise à jour
Étape 1 : détecter la présence
wmic qfe list brief /format:table ← repérer KB5046616
Si KB5046616 apparaît, tentez la désinstallation silencieuse :
wusa /uninstall /kb:5046616 /quiet /norestart
Si “Update is not installed” alors que l’échec persiste, il est possible que la LCU soit partiellement installée (staged). Dans ce cas, utilisez DISM
avec l’identité du package :
dism /online /get-packages | findstr /i "KB5046616"
Copiez la valeur Package Identity (ex. : Package_for_RollupFix~31bf3856ad364e35~amd64~~20348.x.y.z
) puis :
dism /online /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~20348.x.y.z /norestart
En cas d’échec : redémarrez en Mode sans échec avec invite de commandes ou démarrez sur un environnement WinRE et relancez wusa
/ dism
.
Installer toutes les mises à jour en attente
Après rétablissement de la pile de maintenance, installez toutes les mises à jour proposées (y compris .NET et micro-patches de la SSU). Un redémarrage intermédiaire peut être nécessaire pour lever des dépendances.
Sauvegarde et restauration système côté serveur
La Restauration du système de type “Protection du système” n’est généralement pas disponible sur Windows Server. Préférez une sauvegarde d’état du système via Windows Server Backup :
wbadmin start systemstatebackup -backuptarget:E: -quiet
Conservez au moins une sauvegarde récente avant toute opération invasive (suppression de package, in‑place repair).
Informations complémentaires utiles
Réinitialiser les composants Windows Update
Fermez les consoles mmc et invites ouvertes. Exécutez :
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren %windir%\System32\catroot2 catroot2.old
bitsadmin /reset /allusers & del /q /f %ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat 2>nul
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
Puis :
wuauclt /detectnow
usoclient StartScan
Si usoclient
n’est pas disponible, relancez une détection via l’interface Paramètres ou PowerShell (Install-WindowsUpdate
si le module PSWindowsUpdate est déjà présent).
Vérifier l’espace disque et l’intégrité du magasin de composants
fsutil volume diskfree C:
dism /online /cleanup-image /analyzecomponentstore
Assurez-vous d’avoir > 6 Go libres sur la partition système (plus si serveur avec rôles volumineux) et examinez les recommandations de nettoyage. Évitez /ResetBase
tant que vous n’avez pas résolu le problème : il rendra certaines mises à jour permanentes et donc non désinstallables.
Support hors ligne : MSU autonome et journaux détaillés
Téléchargez l’installateur autonome de KB5046616 (fichier .msu) depuis votre dépôt d’entreprise ou catalogue interne, copiez‑le sur le serveur puis :
expand -F:* windows10.0-kb5046616-x64.msu C:\Temp\KB5046616
dism /Online /Add-Package /PackagePath:C:\Temp\KB5046616\*.cab /LogPath:C:\Temp\KB5046616\dism-addpkg.log
Cette méthode produit des logs plus bavards que wusa
et facilite le diagnostic.
In‑place Upgrade Repair (solution de dernier recours)
Si la pile de maintenance est irrécupérable :
- Montez le média d’installation Windows Server 2022 de même build (ou plus récent).
- Lancez
setup.exe
depuis Windows en session admin. - Choisissez Conserver les données, applications et rôles.
- Décochez la recherche de mises à jour en ligne durant le setup si vous souhaitez un “réarmement” minimal de l’OS.
Le processus répare la pile de maintenance et remet Windows Update à neuf, sans toucher aux rôles (AD DS, DNS, IIS, etc.). Une sauvegarde préalable reste impérative.
Diagnostic assisté : symptômes, codes erreur et causes probables
Codes d’erreur Windows Update fréquents autour de KB5046616
Code | Signification la plus courante | Causes probables | Actions recommandées |
---|---|---|---|
0x800f0831 | Manifest manquant | Source d’assemblage absente, dépendance non résolue | DISM /RestoreHealth , installer MAJ précédentes, source locale /Source: si nécessaire |
0x80073701 | Assemblage manquant | WinSxS endommagé, nettoyage incomplet | DISM , réinitialiser WU, vérifier pending et revertpendingactions |
0x800f0922 | Échec en phase finale | Partition système/EFI trop pleine, blocage proxy/VPN | Libérer l’ESP, vérifier netsh winhttp , proxy/WU |
0x800f0988 | Composant non trouvé | Package partiellement installé, supersedence | DISM /Remove-Package puis réinstaller, StartComponentCleanup |
0x80070003 | Fichier introuvable | Cache WU corrompu, BITS | Réinitialiser SoftwareDistribution/catroot2, bitsadmin /reset |
Vérifications rapides côté configuration
- Réseau : pas de proxy bloquant ?
netsh winhttp show proxy
puisnetsh winhttp reset proxy
si nécessaire. - Antivirus/EDR : mettez temporairement le mode “maintenance” si la politique l’autorise (pas de désactivation sauvage en production).
- Espaces :
fsutil volume diskfree C:
& taille de la partition EFI si erreurs 0x800f0922. - Langues/Features on Demand : opérations Add/Remove-Capability en attente peuvent bloquer une LCU. Finalisez-les ou annulez-les.
Procédures détaillées pas‑à‑pas
Chemin A : réparer et réinstaller KB5046616
- Créer un point de retour (snapshot VM ou
wbadmin
). DISM /Online /Cleanup-Image /RestoreHealth
puissfc /scannow
.- Réinitialiser les composants Windows Update (arrêt services, renommage, redémarrage).
- Installer les mises à jour en attente en petits lots : d’abord SSU/LCU, puis .NET, puis drivers.
- Si KB5046616 reste en échec : installer le MSU autonome via
DISM /Add-Package
pour obtenir des logs précis.
Chemin B : désinstaller proprement KB5046616
- Essayer
wusa /uninstall /kb:5046616
. - S’il échoue, repérer le Package Identity et utiliser
dism /remove-package
. - Si l’OS est en état pending : depuis WinRE, exécuter :
dism /image:C:\ /cleanup-image /revertpendingactions
puis redémarrer et relancer la désinstallation. - Interdire temporairement la réinstallation automatique (WSUS : Decline KB5046616 pour ce serveur, ou politique de report) pendant l’investigation.
Chemin C : remise à zéro par In‑place Upgrade Repair
Utilisez ce chemin lorsque les chemins A/B échouent ou si les journaux indiquent une pile de maintenance irrémédiablement corrompue. Conservez les rôles et applications durant le setup. Après réparation, refaites un cycle complet Windows Update.
Lecture des journaux : où regarder et quoi chercher
Journaux essentiels
Fichier / Journal | Emplacement | Ce qu’on y cherche |
---|---|---|
CBS.log | C:\Windows\Logs\CBS\CBS.log | Erreurs ERROR_SXS_ASSEMBLY_MISSING , 0x800f0831 , noms de packages |
dism.log | C:\Windows\Logs\DISM\dism.log | Échecs Add/Remove-Package, identité exacte des packages |
WindowsUpdateClient/Operational | Observateur d’événements ▸ Microsoft ▸ Windows | Phases de téléchargement, installation, redémarrage, codes d’erreur |
Servicing | Observateur d’événements ▸ Microsoft ▸ Windows ▸ Servicing | Événements de la pile de maintenance, progression LCU/SSU |
Commandes utiles pour extraire rapidement des indices
:: Derniers évènements Windows Update (7 jours)
wevtutil qe Microsoft-Windows-WindowsUpdateClient/Operational /f:text /q:"*[System[TimeCreated[timediff(@SystemTime)<=604800000]]]"
:: Rechercher explicitement des erreurs
findstr /i /c:"error" C:\Windows\Logs\CBS\CBS.log
findstr /i 800f0831 C:\Windows\Logs\CBS\CBS.log
:: Packages mentionnant KB5046616
dism /online /get-packages | findstr /i KB5046616
:: Vérifier si une opération est en attente
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending
Si la clé RebootPending
existe, terminez l’opération en cours (redémarrage) ou exécutez revertpendingactions
depuis WinRE si l’état est bloqué.
Cas particuliers à ne pas négliger
Serveurs Domain Controllers
- Planifiez un redémarrage en respectant la haute disponibilité (au moins un DC sain en ligne).
- Évitez les suppressions agressives dans
WinSxS
; privilégiezDISM
standard et l’in‑place repair si besoin.
Clusters (Hyper‑V, SQL, SOFS)
- Mettre le nœud en maintenance / drain des rôles avant toute opération.
- Utiliser Cluster‑Aware Updating si possible après remise en état de WU.
WSUS et politiques d’entreprise
- Si vous utilisez WSUS, vérifiez que KB5046616 n’est pas révisée sans approbation correspondante.
- Un correctif “décliné” côté WSUS empêchera sa réinstallation côté serveur.
Langues & Features on Demand
Les opérations d’ajout/suppression de packs de langues ou de fonctionnalités à la demande peuvent interférer avec une LCU. Finalisez d’abord ces opérations :
dism /online /get-capabilities
dism /online /remove-capability /capabilityname:Language.Basic~~~fr-FR~0.0.1.0
Partition EFI / réservée
Si l’erreur évoque un problème en phase finale (0x800f0922), vérifiez la taille libre de la partition EFI/réservée. Des outils de partitionnement peuvent être requis pour libérer quelques dizaines de Mo. Évitez de manipuler l’ESP en production sans sauvegarde fiable.
Check‑list d’exécution fiable
Étape | Commande / Action | Critère de réussite |
---|---|---|
Sauvegarde | wbadmin start systemstatebackup | Journal de sauvegarde OK |
Réparation image | DISM /RestoreHealth puis SFC | “No component store corruption detected” |
Reset WU | Renommer SoftwareDistribution , catroot2 | Recréation des dossiers au démarrage des services |
Install / Uninstall | wusa ou dism /add|remove‑package | Code retour 0, redémarrage si demandé |
Validation | Observateur d’événements, Get-WindowsUpdateLog | Aucun nouvel évènement d’échec pour KB5046616 |
Exemples de scénarios et scripts prêts à l’emploi
Script de remise à plat rapide (CMD, exécuter en admin)
@echo off
echo [1/6] Sauvegarde etat systeme – assurez-vous qu'une sauvegarde recente existe.
echo [2/6] DISM restorehealth...
DISM /Online /Cleanup-Image /RestoreHealth || goto :err
echo [3/6] SFC...
sfc /scannow || echo SFC a corrige des fichiers, redemarrage recommande.
echo [4/6] Reset composants WU...
net stop wuauserv & net stop cryptSvc & net stop bits & net stop msiserver
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren %windir%\System32\catroot2 catroot2.old
bitsadmin /reset /allusers
net start wuauserv & net start cryptSvc & net start bits & net start msiserver
echo [5/6] Detection WU...
wuauclt /detectnow
echo [6/6] Terminé. Testez installation ou desinstallation de KB5046616.
exit /b 0
:err
echo Une erreur est survenue. Verifiez CBS.log et dism.log.
exit /b 1
Désinstallation avancée quand WUSA échoue
for /f "tokens=*" %i in ('dism /online /get-packages ^| findstr /i KB5046616') do @echo %i
:: puis, une fois le Package Identity connu :
dism /online /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~20348.x.y.z /norestart
shutdown /r /t 5
Revenir d’un état “pending” depuis WinRE
dism /image:C:\ /cleanup-image /revertpendingactions
Attendez la fin, redémarrez normalement, puis reprenez la désinstallation ou la réparation.
Bonnes pratiques pour éviter le retour du problème
- Ne lancez pas de nettoyage agressif (
/ResetBase
) tant que la LCU en cause n’est pas stabilisée. - Tenez à jour les features on demand et packs de langues avant les LCUs majeures.
- Ordonnez les redémarrages : une LCU partiellement installée bloque souvent la suivante.
- Sur WSUS : testez d’abord KB5046616 sur un anneau pilote avant approbation large.
- Sur clusters/HA : utilisez des fenêtres CAU et vérifiez la santé des nœuds entre chaque lot.
FAQ express
La désinstallation du package retourne “permanent package” ?
Un nettoyage antérieur a pu rendre le package permanent. Essayez un in‑place upgrade repair pour restaurer une pile désinstallable.
WUSA indique que KB5046616 n’est pas installée mais l’échec persiste ?
Vérifiez dism /get-packages
; la LCU peut être seulement staged. Supprimez via DISM /Remove-Package
en utilisant l’identité exacte.
Le serveur reste en boucle d’échec après chaque redémarrage ?
Exécutez revertpendingactions
depuis WinRE, puis réinitialisez les composants WU et réessayez.
Conclusion
Les échecs d’installation et de désinstallation de KB5046616 sur Windows Server 2022 proviennent le plus souvent d’un magasin de composants altéré, d’un cache Windows Update corrompu ou d’une dépendance non satisfaite. En appliquant la séquence DISM → SFC → réinitialisation des composants → installation par lot ou désinstallation ciblée, vous restaurez un état cohérent. S’il subsiste des traces d’opérations inachevées, le passage par revertpendingactions
depuis WinRE puis, en ultime recours, un in‑place upgrade repair fournissent une sortie propre et documentée, tout en préservant rôles et applications.
Annexes : pense‑bête technique
Raccourcis de navigation
- Observateur d’événements : Applications et services ▸ Microsoft ▸ Windows ▸ WindowsUpdateClient ▸ Operational, Servicing
- Dossiers à connaître :
%windir%\SoftwareDistribution
,%windir%\System32\catroot2
,%windir%\Logs\CBS
,%windir%\Logs\DISM
- Services :
wuauserv
,bits
,cryptSvc
,msiserver
Commandes résumées et finalité
Commande | But | Quand l’utiliser |
---|---|---|
DISM /RestoreHealth | Réparer le magasin de composants | Avant toute réinstallation/désinstallation |
sfc /scannow | Vérifier/Réparer les fichiers protégés | Après DISM |
wusa /uninstall /kb:5046616 | Désinstaller la LCU | Premier essai de retrait |
dism /remove‑package | Retrait par identité de package | Si WUSA échoue |
revertpendingactions | Annuler opérations en attente | Depuis WinRE si boucle d’échec |
StartComponentCleanup | Nettoyer WinSxS | Seulement une fois la situation stabilisée |
Exemple de politique de reprise
- Sortir le serveur du pool/cluster (drain), annoncer indisponibilité.
- Snapshot / sauvegarde état système.
- Chemin A ou B selon la stratégie retenue.
- Vérifier les services métiers, réintégrer le serveur.
- Documenter les journaux et verrouiller la version jusqu’à validation en pré‑prod.