No se puede desinstalar KB5042881 en Windows Server 2022 (error 0x80073701): causas, solución paso a paso y verificación

Tras instalar el acumulativo KB5042881 en Windows Server 2022, Windows Update insiste en reinstalarlo y falla con el error 0x80073701. WUSA tampoco permite quitarlo y no aparece en el historial. Aquí tienes un procedimiento completo para resolverlo sin perder roles ni datos.

Índice

Resumen del problema

En algunos servidores Windows Server 2022, el paquete acumulativo de septiembre de 2024 KB5042881 queda en estado “a medias”: Windows Update vuelve a ofrecerlo, la instalación falla con 0x80073701 y WUSA asegura que el KB no está instalado, por lo que tampoco figura en el Historial de actualizaciones. El código 0x80073701 (ERRORSXSASSEMBLY_MISSING) apunta a un WinSxS dañado o a un componente requerido que no está presente.

Diagnóstico rápido

SíntomaQué sugiere
Windows Update vuelve a ofrecer KB5042881 tras “instalarse”.Paquete parcialmente aplicado o detección inconsistente.
WUSA /uninstall dice que el KB no está instalado.El paquete no se registró en WUSA/Historial, pero sí en DISM/WinSxS.
Error 0x80073701 en Windows Update/CBS.log.Faltan manifiestos/assemblies en el almacén de componentes (WinSxS).
Instalación manual .msu también falla.Daño en imagen base o estado pendiente que bloquea la transacción.

Causa técnica del 0x80073701

ERRORSXSASSEMBLY_MISSING se dispara cuando el motor de mantenimiento (servicing stack) no encuentra un manifiesto, catálogo o binario que el paquete requiere. Puede deberse a:

  • Almacén WinSxS (component store) con archivos corruptos o incompletos.
  • Actualización aplicada parcialmente (por ejemplo, reinicio pendiente interrumpido).
  • Origen ausente durante /RestoreHealth (DISM no logra materializar los componentes).
  • Caché de Windows Update incoherente (SoftwareDistribution / catroot2).

Antes de empezar

  • Abre CMD o PowerShell como administrador.
  • Programa una ventana de mantenimiento: habrá reinicios.
  • Si el servidor está en clúster/producción (SQL, Hyper‑V, DCs), haz drain o failover según corresponda.
  • Ten a mano un ISO de Windows Server 2022 que coincida con edición/idioma/build.

Ruta rápida de solución (TL;DR)

  1. Repara imagen y archivos con DISM y SFC.
  2. Resetea los componentes de Windows Update.
  3. Localiza y retira el paquete “a medias” con DISM.
  4. Fuerza una nueva detección e instala el KB de forma limpia.
  5. Si persiste: revisa logs y considera in-place repair.

Reparar la imagen del sistema y archivos

Ejecuta, en este orden:

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

Si /RestoreHealth falla o no encuentra origen, utiliza un medio que coincida con tu server:

DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:X:\sources\install.wim:INDEX /LimitAccess
  • X: es la letra de unidad del ISO montado.
  • INDEX: corresponde a la edición exacta. Para descubrirlo: DISM /Get-WimInfo /WimFile:X:\sources\install.wim
  • Si el medio usa install.esd: DISM /Online /Cleanup-Image /RestoreHealth /Source:esd:X:\sources\install.esd:INDEX /LimitAccess

Consejo: si el servidor no tiene acceso a Internet (WSUS/DMZ), /LimitAccess evita que DISM busque orígenes externos.

Restablecer los componentes de Windows Update

Detén servicios, renombra cachés y vuelve a iniciarlos. En CMD elevado:

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net start cryptSvc
net start bits
net start msiserver

Esto fuerza a Windows a regenerar la caché de descarga y la base de catálogos.

Comprobar si el paquete quedó “a medias” y retirarlo por identidad

Aunque WUSA y el Historial no lo vean, DISM sí lista el estado real del paquete:

dism /online /get-packages /format:table | findstr 5042881

Si aparece un nombre del tipo PackageforRollupFix~31bf3856ad364e35~amd64~~20348.XXXXX.1.?, copia el PackageName y retíralo:

dism /online /remove-package /packagename:PackageforRollupFix~31bf... /norestart

Después, prueba también (si procede) con WUSA en silencioso:

wusa /uninstall /kb:5042881 /quiet /norestart

Reinicia el servidor al terminar estos pasos.

Forzar nueva detección e instalación limpia

Vuelve a iniciar un escaneo de actualizaciones:

UsoClient StartScan

Alternativamente, instala manualmente el paquete descargado del Catálogo de Microsoft Update tras reparar la imagen:

wusa D:\ruta\windows10.0-kb5042881-x64.msu /quiet /norestart

Verificación posterior

  • Consulta el estado del paquete en DISM: dism /online /get-packages /format:table | findstr 5042881
  • Comprueba Registros de Windows Update y que no haya nuevas ofertas del mismo KB.
  • Opcional: valida con Get-HotFix en PowerShell (ten en cuenta que no siempre lista LCUs combinadas). Get-HotFix | Where-Object {$_.HotFixID -eq 'KB5042881'}

Qué mirar en los registros

  • CBS.logC:\Windows\Logs\CBS\CBS.log (filtros útiles: 0x80073701, CSI, Manifest, Missing). Ejemplos:
    • “CSI Manifest Missing”: faltan manifiestos, confirma problema de WinSxS.
    • “Failed to resolve package”: paquete inconsistente; retíralo con DISM.
  • DISM.logC:\Windows\Logs\DISM\dism.log para causas de /RestoreHealth.
  • WindowsUpdate.log – genera con PowerShell: Get-WindowsUpdateLog

Estados pendientes y reinicios

Verifica que no haya operaciones pendientes de CBS/servicing bloqueando la transacción:

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"

Si existe la clave, reinicia. Evita borrar pending.xml manualmente: DISM gestiona mejor estos estados.

Reparación in-place como último recurso

Si el daño del almacén es profundo, una instalación de reparación (in‑place) regenera WinSxS sin tocar roles/datos:

  1. Monta el ISO de Windows Server 2022 de la misma edición/idioma/build.
  2. Ejecuta setup.exe y elige mantener aplicaciones y datos.
  3. Completa el asistente y aplica las actualizaciones después.

En Server Core puedes lanzar el asistente desde consola o usar parámetros de línea de comandos para una actualización desatendida. Planifica siempre downtime.

Escenarios especiales

Servidores unidos a WSUS o con proxy

  • Haz la reparación de imagen con /Source local y /LimitAccess para no depender del WSUS.
  • Tras el reset de cachés, fuerza detección (UsoClient StartScan) y asegúrate de que el servidor ve al WSUS correcto.

Controladores de dominio

  • Coordina ventanas de mantenimiento para no dejar el bosque con un único DC disponible.
  • Verifica SYSVOL/NTDS tras reinicios; no debería verse afectado por DISM, pero valida health con dcdiag.

Clústeres (Failover/Hyper‑V/SQL)

  • Aplica drain roles y actualiza nodos de forma escalonada.
  • Evita /ResetBase si necesitas poder desinstalar LCUs durante una ventana controlada.

Errores cercanos y cómo actuar

ErrorDescripciónAcción recomendada
0x80073701Falta de ensamblajes/manifiestos.DISM + fuente correcta, reset de WU, retirar paquete con DISM.
0x800f081fOrigen no encontrado.Usa /Source con install.wim/esd correcto + /LimitAccess.
0x800f0922Fallo de instalación en fase final.Revisar CBS.log; estados pendientes; reiniciar y reintentar con caché limpia.
0x8024200DPaquete descargado corrupto.Reset de SoftwareDistribution y reinstalar manualmente.

Buenas prácticas para evitar recurrencias

  • Antes de LCUs críticas, crea un punto de restauración o snapshot (si es VM).
  • Mantén actualizado el servicing stack (en Server 2022 viene combinado con la LCU, pero aplica siempre las últimas).
  • Evita forzar apagados durante reinicios de mantenimiento.
  • Ejecuta periódicamente: DISM /Online /Cleanup-Image /AnalyzeComponentStore
  • Tras estabilizar, puedes reducir el tamaño de WinSxS (con cautela): DISM /Online /Cleanup-Image /StartComponentCleanup Nota: /ResetBase impide desinstalar futuras actualizaciones; no lo uses en entornos donde necesites rollback.

Script de ayuda (PowerShell)

Para automatizar el flujo (ajusta el $SourceWim y el $Index a tu medio):

$ErrorActionPreference = 'Stop'

1) Reparar imagen

dism /Online /Cleanup-Image /CheckHealth
dism /Online /Cleanup-Image /ScanHealth

\$SourceWim = 'X:\sources\install.wim'
\$Index     = 1 # cámbialo tras consultar Get-WimInfo

dism /Online /Cleanup-Image /RestoreHealth /Source\:wim:\$SourceWim:\$Index /LimitAccess

sfc /scannow

2) Reset de Windows Update

Stop-Service wuauserv, cryptsvc, bits, msiserver -Force
Rename-Item -Path 'C:\Windows\SoftwareDistribution' -NewName 'SoftwareDistribution.old' -ErrorAction SilentlyContinue
Rename-Item -Path 'C:\Windows\System32\catroot2' -NewName 'catroot2.old' -ErrorAction SilentlyContinue
Start-Service wuauserv, cryptsvc, bits, msiserver

3) Retirar paquete "a medias"

\$pkg = (dism /online /get-packages /format\:table | Select-String '5042881' | ForEach-Object { $\_.Line })
if (\$pkg) {

Extrae el PackageName de la línea si es necesario editarlo manualmente

Ejecuta un remove-package con el nombre completo:

dism /online /remove-package /packagename:\ /norestart

}

4) Forzar nueva detección

Start-Process -FilePath "\$env\:SystemRoot\System32\UsoClient.exe" -ArgumentList 'StartScan' -Wait 

Checklist operativo

  • DISM OK con origen válido y SFC sin corrupción.
  • Cachés de Windows Update regeneradas.
  • Paquete KB5042881 retirado si estaba “Instalado”, “Pendiente” o “Instalación fallida” en DISM.
  • Nueva instalación limpia del KB completada, sin reoferta.
  • Logs sin entradas nuevas de 0x80073701.

Preguntas frecuentes

¿Por qué WUSA no ve el KB si DISM sí?
Porque WUSA se apoya en el registro de paquetes “completamente instalados” para el Historial. Si una transacción quedó a medias, el paquete puede existir en WinSxS sin tener la marca de instalación final.

¿Puedo borrar SoftwareDistribution.old y catroot2.old?
Sí, tras verificar que todo funciona y no los necesitas para auditoría. Son solo copias renombradas.

¿Debo ejecutar SFC antes o después de DISM?
Primero DISM (repara el almacén) y después SFC (repara archivos del sistema desde el almacén). Así SFC tendrá una fuente sana.

¿Cómo sé qué INDEX usar?
Con DISM /Get-WimInfo /WimFile:X:\sources\install.wim. Debe coincidir con edición/idioma. Usar un índice distinto provoca 0x800f081f.

¿Cuándo usar reparación in‑place?
Cuando DISM+SFC+reset no solucionan y los logs siguen evidenciando manifiestos faltantes o transacciones atascadas reiteradamente.

Conclusión

El error 0x80073701 con KB5042881 en Windows Server 2022 casi siempre se resuelve saneando el almacén WinSxS, reseteando la infraestructura de Windows Update y, si es necesario, retirando el paquete por identidad con DISM para reinstalarlo de forma limpia. Sigue los pasos anteriores y valida con logs; si el daño persiste, una reparación in‑place devuelve la coherencia del sistema sin reinstalar desde cero.

Comandos clave (chuleta)

AcciónComando
Comprobar/escaneo/rehabilitar imagenDISM /Online /Cleanup-Image /CheckHealth|/ScanHealth|/RestoreHealth
Restaurar con origen WIM/ESD/Source:wim|esd:X:\sources\install.*:INDEX /LimitAccess
Comprobar/retirar KB5042881dism /online /get-packages | findstr 5042881
dism /online /remove-package /packagename:... /norestart
Reset de Windows Updatenet stop ... && ren SoftwareDistribution && ren catroot2 && net start ...
Forzar detecciónUsoClient StartScan
Instalar/desinstalar MSUwusa <KB>.msu /quiet /norestart | wusa /uninstall /kb:5042881

Notas útiles:

  • Ejecuta todos los comandos en sesión elevada.
  • Planifica al menos un reinicio tras los pasos de reparación y eliminación.
  • No borres manualmente pending.xml ni claves de CBS salvo indicación explícita; DISM gestiona mejor los estados pendientes.
Índice