Windows 11 – Error 0x80070005 al instalar la actualización KB5050009: causas, diagnóstico y soluciones paso a paso

La actualización acumulativa KB5050009 para Windows 11 puede terminar con el código de error 0x80070005 (Access is denied), dejando el progreso atascado en 0 %. Este artículo explica por qué ocurre y recoge una guía exhaustiva de diagnóstico y soluciones probadas en entornos corporativos y domésticos.

Índice

Diagnóstico del error 0x80070005 durante la instalación de la KB5050009

El mensaje «Updates have failed» suele acompañarse de un código hexadecimal. Cuando es 0x80070005, Windows Update no puede escribir un archivo o clave de registro porque una directiva o ACL se lo impide. En los registros C:\Windows\Logs\CBS\CBS.log o WindowsUpdate.log aparecen líneas tipo:

Failed opening C:\Windows\System32\CodeIntegrity\CiPolicies\Active\{GUID}.cip  
STATUSACCESSDENIED (Error 0x80070005)

Los puntos críticos a revisar son:

  • Rutas del sistema: %windir%\System32, %windir%\WinSxS, %windir%\Servicing\Packages.
  • Permisos NTFS: entradas heredadas bloqueadas, ajustes de antivirus que endurecen carpetas.
  • Directivas de integridad de código (WDAC): archivos .cip bajo CiPolicies\Active.

Comprobaciones preliminares antes de aplicar cambios estructurales

Antes de editar políticas o archivos, confirme que los componentes base de Windows están íntegros y que no existen bloqueos temporales:

  1. Solucionador de problemas de Windows Update → Configuración › Sistema › Solucionar problemas › Otros solucionadores.
  2. Comprobador de archivos de sistema: DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
  3. Desactivar antivirus de terceros (solo para descartar interferencias efímeras).
  4. Pausar y reanudar Windows Update: útil cuando hay descargas corruptas o cortes de red.

Métodos de resolución confirmados

Reintentar la instalación tras pausar y reanudar Windows Update

Aplica a fallos puntuales originados por paquetes temporales dañados.

  1. Pausar actualizaciones durante 7 días (o el mínimo permitido).
  2. Reiniciar el equipo para limpiar transitorios.
  3. Abrir Windows Update y reactivar la búsqueda de actualizaciones.

En la mayoría de pruebas de laboratorio bastó para reanudar la descarga cuando la causa era una desconexión Wi‑Fi o una pérdida momentánea de energía.

Revisar los registros CBS

Permite conocer el archivo exacto bloqueado.

  1. Comprimir C:\Windows\Logs\CBS y moverlo al escritorio.
  2. Abrir CBS.log con un visor que soporte archivos grandes.
  3. Buscar ERRORACCESSDENIED o el GUID del archivo .cip.

Si el bloqueo apunta a CiPolicies\Active, es casi seguro que interviene WDAC.

Identificar si hay políticas WDAC/CiPolicies activas

WDAC incorpora reglas en modo kernel que impiden la carga de binarios no firmados o no permitidos.

# Ejecutar en PowerShell con privilegios de administrador  
Get-CimInstance Win32_DeviceGuard |  
  Select-Object -Property * |  
  Format-List CodeIntegrity*
  • CodeIntegrityPolicyEnforcementStatus = 0 → no hay políticas.
  • = 1 o = 2 → existe al menos una política aplicada.

Renombrar el archivo de política bloqueante (entornos sin WDAC obligatorio)

Si WDAC no se usa como control de seguridad en la organización, puede retirarse la política afectada:

cd /d C:\Windows\System32\CodeIntegrity\CiPolicies\Active  
takeown /f {GUID}.cip  
icacls {GUID}.cip /grant Administrators:F  
ren {GUID}.cip {GUID}.cip.old

Al reiniciar, Windows Update debería instalar KB5050009 sin contratiempos. Conservar el archivo renombrado permite restaurarlo si fuese necesario.

Precaución: Aplique este método solo cuando no exista una estrategia de seguridad que exija WDAC. Eliminar la política en un entorno regulado podría incumplir normativas internas.

Desplegar o modificar correctamente la política WDAC (entornos gestionados)

Cuando takeown también arroja «Access is denied» es señal de que WDAC está en modo enforcement. Las opciones son:

  • Desactivar la asignación desde Intune o GPO durante la ventana de mantenimiento.
  • Modificar la política para permitir las rutas y firmas requeridas por KB5050009.
    WDAC utiliza SHA‑256 de binarios; basta con que el nuevo catálogo de la actualización no esté contemplado para que bloquee.
  • WinRE y Editor de Registro offline: arrancar desde recuperación, montar la partición y renombrar el archivo .cip con diskpart + attrib -r -s -h.

Alternativas de reparación cuando persiste el error

EscenarioMétodoResumen de pasos
No se puede alterar WDAC, pero urge aplicar parchesCatálogo Microsoft UpdateDescargar el archivo .msu de KB5050009 y ejecutar wusa.exe <parche>.msu /quiet /norestart.
Corrupción extensiva de componentesReparación in‑placeMontar ISO oficial de Windows 11, ejecutar setup.exe, elegir «Conservar archivos y aplicaciones».
Servicios de Windows Update inconsistentesRestablecer WUnet stop bits net stop wuauserv net stop cryptsvc ren %systemroot%\SoftwareDistribution SoftwareDistribution.old ren %systemroot%\System32\catroot2 catroot2.old net start cryptsvc net start wuauserv net start bits

Comprender la relación entre WDAC y Windows Update

WDAC firma internamente la lista de binarios permitidos. Cada actualización de calidad introduce nuevos controladores, catálogos y DLL. Si la política fue compilada antes de la fecha de firma de esos binarios, la aplicación los rechazará.

Buenas prácticas para admins:

  • Usar el modo audit en anillos piloto para capturar eventos 3076 y 3099 (Microsoft‑Windows‑CodeIntegrity).
  • Regenerar la política tras Patch Tuesday con New‑CIPolicy y Convert‑From‑BinaryPolicy.
  • Versionar y comentar las políticas en un repositorio Git interno.

Cómo localizar rápidamente la política bloqueante

  1. Ejecutar wevtutil qe Microsoft-Windows-CodeIntegrity/Operational /q:"*" /f:text /c:20.
  2. Filtrar eventos con Status=0xC0000022 (ACCESS_DENIED) y anotar la ruta del binario.
  3. Comparar la hora del evento con la hora exacta en que falló Windows Update.
  4. Si coincide, examinar la huella SHA‑256 registrada y añadirla a la excepción.

Buenas prácticas para evitar el error en futuras actualizaciones

  • Separar entornos de prueba y producción; aplicar actualizaciones a un pequeño grupo primero.
  • Monitorizar el canal Release Health de Microsoft para detectar issues conocidos.
  • Diseñar WDAC en capas: una política base permisiva y una de bloqueo estricto, lo que reduce el tiempo de regeneración.
  • Centralizar la telemetría: recopilar eventos de Code Integrity en un SIEM facilita alertar antes de que el usuario perciba el fallo.

Preguntas frecuentes (FAQ)

¿Puedo eliminar todos los archivos .cip sin riesgo?

No. Algunas organizaciones usan WDAC para cumplir normativas (NIST 800‑171, CIS…). Eliminar políticas podría exponer al sistema a software no autorizado.

¿Por qué desactivar el antivirus no resuelve siempre 0x80070005?

WDAC opera a nivel de kernel antes que muchos antivirus. Si la denegación procede de WDAC, el antivirus es irrelevante.

¿El in‑place upgrade borra mis apps?

No, si se selecciona «Conservar aplicaciones y archivos personales». No obstante, crea la carpeta Windows.old, por lo que requiere espacio en disco.

Conclusión

El error 0x80070005 en la KB5050009 suele delatar conflictos de permisos o políticas WDAC. Siguiendo la ruta diagnóstica—logs, verificación de WDAC, y ajustes de políticas—es posible restaurar Windows Update sin sacrificar la postura de seguridad. Reserve tiempo para replicar los cambios en un entorno de pruebas y documente cada excepción aplicada.

Índice