Si la actualización KB5046616 en Windows Server 2022 falla al instalarse o se bloquea y no permite desinstalar, esta guía ofrece un procedimiento seguro, progresivo y probado para reparar componentes, limpiar Windows Update y, si es necesario, retirar el paquete sin dejar el servidor fuera de servicio.
Resumen del problema
En algunos entornos, la instalación de una actualización acumulativa puede finalizar con error, quedarse en estado pending o revertir cambios tras el reinicio. Otras veces la actualización se registra parcialmente en el almacén de componentes (Component-Based Servicing, CBS), impidiendo su desinstalación normal desde Programas y características o mediante wusa
. Este artículo explica cómo corregir la situación con un enfoque de menor a mayor impacto, priorizando la integridad del sistema y el tiempo de indisponibilidad.
Antes de empezar
- Ventana de mantenimiento: ejecuta los pasos en un horario planificado. Algunos requieren reinicio.
- Respaldos: verifica que cuentas con una copia de seguridad reciente o instantáneas (snapshots) si el servidor está virtualizado.
- Roles críticos: en controladores de dominio, servidores de archivos con clúster, Hyper‑V, SQL Server o Exchange, lee las notas específicas más abajo antes de quitar paquetes.
- Conexión a Internet o WSUS: muchas correcciones se apoyan en obtener paquetes de reemplazo; asegúrate de que el servidor tenga acceso a su origen de actualizaciones.
Solución paso a paso
Aplica los bloques en orden. Tras cada bloque, reinicia y vuelve a probar Windows Update. Si el problema persiste, avanza al siguiente.
- Reparación básica del sistema y de Windows Update Usa las herramientas integradas para restaurar la salud del almacén de componentes y los archivos protegidos.
- Ejecuta el solucionador de problemas de Windows Update desde Configuración > Actualización y seguridad > Solucionar problemas.
- Repara la imagen y los archivos del sistema con
DISM
ySFC
:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
SiSFC
corrige archivos, reinicia y ejecuta nuevamente hasta que muestre “no se encontraron infracciones de integridad”. - Intento de desinstalación estándar Comprueba si el paquete está registrado como instalado y prueba su retirada con el asistente de actualizaciones.
wmic qfe list brief /format:table
Alternativa en PowerShell:Get-HotFix -Id KB5046616
Si aparece, intenta desinstalar:wusa /uninstall /kb:5046616
Si solicita reinicio, acéptalo. Si devuelve que la actualización no es desinstalable, o queda atascado, continúa. - Limpieza de caché de Windows Update y reintento Restablece el estado de SoftwareDistribution y del servicio BITS. Esto elimina descargas corruptas y bases de datos de estado inconsistentes.
net stop wuauserv net stop bits del /s /q %windir%\SoftwareDistribution\Download\. del /s /q %windir%\SoftwareDistribution\DataStore\. net start bits net start wuauserv
Vuelve a buscar e instalar actualizaciones desde Windows Update o WSUS. A menudo, una acumulativa más reciente sustituye a la conflictiva y normaliza el almacén CBS. - Retirada del paquete con DISM Cuando
wusa
no permite desinstalar,DISM
puede quitar el paquete directamente del almacén de componentes. Primero identifica el nombre exacto del paquete:dism /online /get-packages | findstr 5046616
Con el nombre devuelto (ejemplo:PackageforKB5046616~31bf3856ad364e35~amd64~~10.0.x.x
), ejecuta:dism /online /remove-package /PackageName:PackageforKB5046616~31bf3856ad364e35~amd64~~10.0.x.x
Importante: sustituye el nombre de paquete por el que muestre tu servidor. Si recibes un error indicando operaciones pendientes, pasa al siguiente bloque. - Corrección sin conexión desde el entorno de recuperación Cuando el sistema no arranca, el instalador queda atascado o existen operaciones en curso, realiza el mantenimiento sin montar el sistema operativo.
- Inicia en el Entorno de Recuperación de Windows (WinRE) o desde un medio de instalación de Windows Server 2022.
- Identifica la letra del volumen de Windows (a menudo
D:
oE:
en WinRE):
diskpart list vol exit
Ejecuta los comandos ajustando la unidad correcta:dism /image:D:\ /get-packages | findstr 5046616 dism /image:D:\ /remove-package /PackageName:PackageforKB5046616... dism /image:D:\ /cleanup-image /restorehealth
Reinicia de forma normal para validar el arranque y volver a probar Windows Update. - Recuperación del sistema Si el servidor mantenía Puntos de restauración, inicia una restauración a un estado anterior a la actualización problemática. En servidores donde la restauración está deshabilitada, usa tu solución de backup (Windows Server Backup, Veeam, snapshots de hipervisor) para volver al estado previo.
Síntomas habituales y cómo interpretarlos
Los códigos de error de Windows Update y CBS ayudan a decidir la táctica. La siguiente tabla describe algunos patrones frecuentes y posibles acciones.
Código o síntoma | Descripción | Acción sugerida |
---|---|---|
0x800f0831 | Paquete base ausente o manifiesto no encontrado. | Ejecuta DISM /RestoreHealth . Si persiste, instala una acumulativa más reciente que contenga el componente base. |
0x800f0982 / 0x800f0988 | Componentes huérfanos o inconsistencias en WinSxS. | Prueba limpieza de caché y luego DISM para quitar la actualización. Considera /StartComponentCleanup después de estabilizar. |
Se queda en “revirtiendo cambios” | Fallo en fase de boot o pending.xml bloqueando transacciones. | Mantenimiento sin conexión con DISM /image y revisión de operaciones pendientes. |
No permite desinstalación | Algunas acumulativas o pilas de servicio no son desinstalables vía wusa . | Intentar sustitución por una acumulativa posterior o retiro con DISM a nivel de paquete. |
Verificación integral posterior a la corrección
- Comprueba la integridad del almacén:
DISM /Online /Cleanup-Image /CheckHealth DISM /Online /Cleanup-Image /ScanHealth DISM /Online /Cleanup-Image /RestoreHealth
- Ejecuta el verificador de archivos:
sfc /scannow
- Valida el estado de la actualización:
Get-HotFix -Id KB5046616 Get-WindowsPackage -Online | ? Name -like "KB5046616"
- Prueba Windows Update/WSUS y verifica que descarga e instala otras actualizaciones correctamente.
Registros y diagnóstico de fondo
Los registros más útiles son:
C:\Windows\Logs\CBS\CBS.log
— registro detallado del instalador CBS.C:\Windows\Logs\DISM\dism.log
— registro de operaciones DISM.- Registro de Windows Update generado con PowerShell:
Get-WindowsUpdateLog
Busca entradas con error
, failed
, 0x
y correlación con la hora del fallo. Para comprender bloqueos por operaciones pendientes, revisa C:\Windows\winsxs\pending.xml
y las claves de registro:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\SessionsPending
Guía para entornos con WSUS o Configuration Manager
- Declinar y reaprobar: si la acumulativa problemática fue aprobada, declínala temporalmente y aprueba una LCU más reciente para forzar sustitución.
- Orden de instalación: asegura que la pila de servicio esté actualizada antes que la acumulativa, si tu entorno aún distribuye pilas por separado.
- Reparación del cliente: resetea los componentes del agente con la limpieza de SoftwareDistribution y, si corresponde, repara el Windows Update Agent en plantillas.
- Planes de rollback: documenta el procedimiento con DISM sin conexión para aplicarlo rápidamente en múltiples nodos si un despliegue masivo introduce regresiones.
Consideraciones para clústeres y plataformas de virtualización
- Alta disponibilidad: realiza la corrección por nodo, evacuando roles y migrando máquinas virtuales en vivo cuando sea posible.
- Controladores de dominio: evita quitar paquetes sin validar en un DC aislado de laboratorio o en un miembro no crítico. Quitar una acumulativa puede reintroducir vulnerabilidades; planifica una LCU posterior tan pronto el estado quede sano.
- SQL Server y Exchange: coordina con las ventanas de mantenimiento y verifica compatibilidad de controladores y antivirus tras el rollback.
Preguntas frecuentes
¿Por qué no se permite la desinstalación con el asistente?
Desde la consolidación de la pila de servicio con la acumulativa, algunas actualizaciones dejan de ser desinstalables vía wusa
. Cuando la política del paquete indica Permanent, solo la sustitución por una acumulativa posterior o la intervención con DISM a nivel de paquete puede normalizar el estado.
¿Es seguro ejecutar /StartComponentCleanup
o /ResetBase
?/StartComponentCleanup
es seguro tras estabilizar el sistema; /ResetBase
elimina la capacidad de desinstalar actualizaciones y debe usarse únicamente cuando aceptes no revertir en el futuro.
¿Qué pasa si el servidor no arranca?
Usa WinRE o un medio de instalación, determina la letra del volumen de Windows y retira el paquete con DISM /image
. Después ejecuta /cleanup-image /restorehealth
para cerrar transacciones pendientes.
¿Debo eliminar el archivo pending.xml?
No lo elimines salvo como último recurso y con un respaldo completo. Es preferible que DISM
complete las transacciones o retire el paquete de forma limpia.
Comandos listos para copiar
Usa este bloque en una consola elevada. Ajusta la letra de unidad en los comandos sin conexión.
:: Reparar imagen y archivos
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
\:: Consultar y desinstalar por WUSA
wmic qfe list brief /format\:table
wusa /uninstall /kb:5046616
\:: Reset de caché de Windows Update
net stop wuauserv
net stop bits
del /s /q %windir%\SoftwareDistribution\Download\.\
del /s /q %windir%\SoftwareDistribution\DataStore\.\
net start bits
net start wuauserv
\:: Listar y quitar paquete con DISM
dism /online /get-packages | findstr 5046616
dism /online /remove-package /PackageName\:Package\for\KB5046616~~31bf3856ad364e35~~amd64~~10.0.x.x
\:: Mantenimiento sin conexión
dism /image\:D:\ /get-packages | findstr 5046616
dism /image\:D:\ /remove-package /PackageName\:Package\for\KB5046616...
dism /image\:D:\ /cleanup-image /restorehealth
\:: Verificaciones posteriores
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
Get-HotFix -Id KB5046616
Get-WindowsPackage -Online | ? Name -like "KB5046616" </code></pre>
<h2>Script de ayuda en PowerShell</h2>
<p>El siguiente script automatiza diagnóstico básico, limpieza, intento de desinstalación con <code>wusa</code> y, si es necesario, retirada con <code>DISM</code>. Ejecútalo en PowerShell como administrador.</p>
<pre><code>param(
[string]$Kb = "KB5046616",
[switch]$ForceDism
)
Write-Host "Diagnóstico de \$Kb en progreso..." -ForegroundColor Cyan
Registro rápido
\$log = "\$env\:SystemRoot\Temp\Fix-\$Kb-\$(Get-Date -Format yyyyMMdd-HHmmss).log"
Start-Transcript -Path \$log -Force | Out-Null
Estado inicial
Try { Get-HotFix -Id \$Kb } Catch {}
Get-WindowsPackage -Online | ? Name -like "\$Kb" | Select Name, State
Reparar imagen
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Limpieza de SoftwareDistribution
net stop wuauserv
net stop bits
Remove-Item -Recurse -Force "\$env\:windir\SoftwareDistribution\Download\*" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "\$env\:windir\SoftwareDistribution\DataStore\*" -ErrorAction SilentlyContinue
net start bits
net start wuauserv
Intento de desinstalación estándar
if (-not \$ForceDism) {
Write-Host "Intentando desinstalación estándar..." -ForegroundColor Yellow
Start-Process -FilePath "wusa.exe" -ArgumentList "/uninstall /kb:\$(\$Kb.TrimStart('KB')) /quiet /norestart" -Wait
}
Si aún aparece como instalado o se forzó DISM
\$pkg = (dism /online /get-packages | Select-String \$Kb | Select-Object -First 1).ToString().Trim()
if (\$pkg) {
Write-Host "Detectado paquete: \$pkg" -ForegroundColor Yellow
dism /online /remove-package /PackageName:\$pkg
}
Verificaciones finales
DISM /Online /Cleanup-Image /CheckHealth
sfc /scannow
Try { Get-HotFix -Id \$Kb } Catch {}
Get-WindowsPackage -Online | ? Name -like "\$Kb" | Select Name, State
Stop-Transcript | Out-Null
Write-Host "Revisa el registro: \$log" -ForegroundColor Green </code></pre>
<h2>Consejos de prevención y buenas prácticas</h2>
<ul>
<li><strong>Validación anticipada:</strong> prueba las acumulativas en un anillo piloto antes del despliegue masivo, especialmente en servidores críticos.</li>
<li><strong>Higiene del almacén de componentes:</strong> ejecuta <code>DISM /Online /Cleanup-Image /StartComponentCleanup</code> de forma periódica en imágenes doradas y plantillas.</li>
<li><strong>Antivirus y controladores:</strong> verifica exclusiones recomendadas y compatibilidad de controladores de almacenamiento, red y HBA antes de actualizar.</li>
<li><strong>Telemetría mínima:</strong> recoge y centraliza códigos de error de Windows Update para identificar patrones en tu flota.</li>
</ul>
<h2>Notas específicas para ediciones sin experiencia de escritorio</h2>
<p>En Server Core, usa <code>sconfig</code> para las operaciones de actualización básicas y PowerShell para el resto. Todos los comandos de esta guía son compatibles con instalaciones sin GUI.</p>
<h2>Resumen ejecutivo para operaciones</h2>
<p>Si la actualización KB5046616 impide instalar, revertir o atasca el sistema, la secuencia recomendada es: reparar imagen y archivos, vaciar caché de Windows Update, intentar desinstalación con <code>wusa</code>, retirar el paquete con <code>DISM</code> identificando su nombre exacto y, si es preciso, realizar mantenimiento sin conexión desde WinRE. Tras estabilizar, instala una acumulativa posterior para normalizar el estado del almacén CBS y devuelve el servidor a línea base segura.</p>
<h2>Checklist rápido</h2>
<ul>
<li>Abrir consola elevada.</li>
<li>Ejecutar <code>DISM /RestoreHealth</code> y <code>sfc /scannow</code>.</li>
<li>Intentar <code>wusa /uninstall /kb:5046616</code>.</li>
<li>Restablecer <em>SoftwareDistribution</em>.</li>
<li>Identificar y retirar con <code>DISM /remove-package</code>.</li>
<li>Si hay operación pendiente, pasar a WinRE y usar <code>/image:</code>.</li>
<li>Validar con <code>Get-HotFix</code> y <code>Get-WindowsPackage</code>.</li>
<li>Instalar la acumulativa más reciente y ejecutar <code>/StartComponentCleanup</code> si corresponde.</li>
</ul>
<h2>Advertencias finales</h2>
<ul>
<li>Quitar paquetes puede revertir correcciones de seguridad. Una vez estable, aplica una acumulativa posterior lo antes posible.</li>
<li>No fuerces el borrado de <code>WinSxS</code> manualmente ni elimines <code>pending.xml</code> salvo que tengas plena certeza del impacto.</li>
<li>En clústeres, planifica por nodo y controla el <em>drain</em> de recursos para evitar interrupciones en producción.</li>
</ul>
<hr>
<p><strong>Resumen de la pregunta</strong></p>
<p>Al instalar la KB5046616 mediante Windows Update aparece un error y el sistema no permite desinstalarla. ¿Cómo corregirlo o revertir la actualización?</p>
<p><strong>Respuesta y solución</strong></p>
<p>Procedimiento recomendado, en orden de menor a mayor impacto:</p>
<ol>
<li><strong>Reparación básica del sistema y Windows Update</strong><br>
Ejecuta el solucionador de problemas y luego:
<pre><code>DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
</code></pre>
</li>
<li><strong>Intentar desinstalación estándar de la actualización</strong><br>
Comprueba instalación:
<pre><code>wmic qfe list brief /format:table
Alternativa
Get-HotFix -Id KB5046616
Desinstala si procede:
<pre>wusa /uninstall /kb:5046616
</pre>
Limpiar la caché de Windows Update
net stop wuauserv
net stop bits
del /s /q %windir%\SoftwareDistribution\Download\.
del /s /q %windir%\SoftwareDistribution\DataStore\.
net start bits
net start wuauserv
Vuelve a intentar la instalación. Una acumulativa más reciente suele sustituir a la problemática.
Quitar el paquete mediante DISM
Localiza el paquete y retíralo:
dism /online /get-packages | findstr 5046616
dism /online /remove-package /PackageName:PackageforKB5046616~31bf3856ad364e35~amd64~~10.0.x.x
Desinstalación o servicing sin conexión
Desde WinRE:
dism /image:D:\ /get-packages | findstr 5046616
dism /image:D:\ /remove-package /PackageName:PackageforKB5046616...
dism /image:D:\ /cleanup-image /restorehealth
Restauración o recuperación
Usa Restauración del sistema si estaba habilitada o tu solución de backup para volver al estado anterior.
Información complementaria
- Registros clave:
C:\Windows\Logs\CBS\CBS.log
y el WindowsUpdate.log generado con:Get-WindowsUpdateLog
- Compatibilidad: algunas actualizaciones (como pilas de servicio integradas) no admiten desinstalación directa por
wusa
; una LCU posterior suele normalizar el almacén de componentes. - Buenas prácticas: respalda antes de quitar paquetes con
DISM
y valida en entorno de pruebas cuando sea posible.
Con esta guía podrás recuperar un servidor afectado por fallos de instalación o desinstalación de la actualización indicada, manteniendo la estabilidad y minimizando el impacto en producción.