KB5046616 Windows Server 2022 : échec d’installation et désinstallation impossible — guide de dépannage complet

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.

Sommaire

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 :

  1. Montez le média d’installation Windows Server 2022 de même build (ou plus récent).
  2. Lancez setup.exe depuis Windows en session admin.
  3. Choisissez Conserver les données, applications et rôles.
  4. 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

CodeSignification la plus couranteCauses probablesActions recommandées
0x800f0831Manifest manquantSource d’assemblage absente, dépendance non résolueDISM /RestoreHealth, installer MAJ précédentes, source locale /Source: si nécessaire
0x80073701Assemblage manquantWinSxS endommagé, nettoyage incompletDISM, réinitialiser WU, vérifier pending et revertpendingactions
0x800f0922Échec en phase finalePartition système/EFI trop pleine, blocage proxy/VPNLibérer l’ESP, vérifier netsh winhttp, proxy/WU
0x800f0988Composant non trouvéPackage partiellement installé, supersedenceDISM /Remove-Package puis réinstaller, StartComponentCleanup
0x80070003Fichier introuvableCache WU corrompu, BITSRéinitialiser SoftwareDistribution/catroot2, bitsadmin /reset

Vérifications rapides côté configuration

  • Réseau : pas de proxy bloquant ? netsh winhttp show proxy puis netsh 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

  1. Créer un point de retour (snapshot VM ou wbadmin).
  2. DISM /Online /Cleanup-Image /RestoreHealth puis sfc /scannow.
  3. Réinitialiser les composants Windows Update (arrêt services, renommage, redémarrage).
  4. Installer les mises à jour en attente en petits lots : d’abord SSU/LCU, puis .NET, puis drivers.
  5. 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

  1. Essayer wusa /uninstall /kb:5046616.
  2. S’il échoue, repérer le Package Identity et utiliser dism /remove-package.
  3. 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.
  4. 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 / JournalEmplacementCe qu’on y cherche
CBS.logC:\Windows\Logs\CBS\CBS.logErreurs ERROR_SXS_ASSEMBLY_MISSING, 0x800f0831, noms de packages
dism.logC:\Windows\Logs\DISM\dism.logÉchecs Add/Remove-Package, identité exacte des packages
WindowsUpdateClient/OperationalObservateur d’événements ▸ Microsoft ▸ WindowsPhases de téléchargement, installation, redémarrage, codes d’erreur
ServicingObservateur 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égiez DISM 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

ÉtapeCommande / ActionCritère de réussite
Sauvegardewbadmin start systemstatebackupJournal de sauvegarde OK
Réparation imageDISM /RestoreHealth puis SFC“No component store corruption detected”
Reset WURenommer SoftwareDistribution, catroot2Recréation des dossiers au démarrage des services
Install / Uninstallwusa ou dism /add|remove‑packageCode retour 0, redémarrage si demandé
ValidationObservateur d’événements, Get-WindowsUpdateLogAucun 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 &amp; net stop cryptSvc &amp; net stop bits &amp; net stop msiserver
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren %windir%\System32\catroot2 catroot2.old
bitsadmin /reset /allusers
net start wuauserv &amp; net start cryptSvc &amp; net start bits &amp; 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é

CommandeButQuand l’utiliser
DISM /RestoreHealthRéparer le magasin de composantsAvant toute réinstallation/désinstallation
sfc /scannowVérifier/Réparer les fichiers protégésAprès DISM
wusa /uninstall /kb:5046616Désinstaller la LCUPremier essai de retrait
dism /remove‑packageRetrait par identité de packageSi WUSA échoue
revertpendingactionsAnnuler opérations en attenteDepuis WinRE si boucle d’échec
StartComponentCleanupNettoyer WinSxSSeulement une fois la situation stabilisée

Exemple de politique de reprise

  1. Sortir le serveur du pool/cluster (drain), annoncer indisponibilité.
  2. Snapshot / sauvegarde état système.
  3. Chemin A ou B selon la stratégie retenue.
  4. Vérifier les services métiers, réintégrer le serveur.
  5. Documenter les journaux et verrouiller la version jusqu’à validation en pré‑prod.
Sommaire