Aplicaciones de Windows no se abren: corrige el error “Bad Image” 0xc0000020 en Windows 11 23H2 por VCLibs 14.0.33519.0

Si tras actualizar a Windows 11 23H2 varias apps UWP como Bloc de notas, Microsoft Store, Fotos o Calculadora arrojan “Bad Image” 0xc0000020 y apuntan a VCRUNTIME140APP.dll, VCRUNTIME1401APP.dll o MSVCP140APP.dll, el paquete Microsoft.VCLibs está dañado. Aquí tienes la solución definitiva.

Índice

Cuándo aparece el mensaje

El fallo suele mostrarse al abrir aplicaciones modernas de Windows. El cuadro de error “Bad Image” indica que el binario no es válido y menciona rutas dentro de la carpeta protegida C:\Program Files\WindowsApps, típicamente:

  • Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe\VCRUNTIME140_APP.dll
  • Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe\VCRUNTIME1401APP.dll
  • Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe\MSVCP140_APP.dll

Al inspeccionar el contenido con un símbolo del sistema elevado verás que los DLL están corruptos con tamaño cero bytes. Este punto confirma el origen del error.

Resumen de la solución

Necesitas forzar a Windows a reinstalar el paquete de bibliotecas de Visual C++ para apps modernas. El procedimiento recomendado es:

  1. Comprobar que los DLL afectados tienen tamaño cero.
  2. Abrir una consola como TrustedInstaller con AdvancedRun.
  3. Renombrar la carpeta del paquete dañado para aislarla.
  4. Reiniciar Windows.
  5. Permitir que Microsoft Store reinstale automáticamente el paquete o instalar el .appx manualmente.
  6. Verificar que las apps vuelven a abrirse con normalidad.

Por qué sucede

El código 0xc0000020 corresponde a STATUSINVALIDIMAGEFORMAT, es decir, el cargador de módulos detecta un binario inválido. Cuando archivos críticos como VCRUNTIME140APP.dll quedan a cero bytes, cualquier app UWP que dependa de Microsoft.VCLibs falla al inicio. Herramientas como SFC y DISM no lo corrigen porque solo reparan archivos del sistema clásico en WinSxS, no el contenido de paquetes MSIX de WindowsApps.

Antes de empezar

  • Usa una cuenta con privilegios de administrador.
  • Cierra todas las apps UWP abiertas.
  • Deja al menos unos gigabytes libres en disco para que Store pueda descargar de nuevo el paquete.
  • No cambies propiedad ni permisos de C:\Program Files\WindowsApps. Esa carpeta está gestionada por TrustedInstaller y cambiar ACLs puede ocasionar más problemas. Utiliza un proceso elevado como TrustedInstaller.

Verificación de la corrupción

Abre un cmd como administrador y ejecuta:

dir "C:\Program Files\WindowsApps\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe" /a

Si VCRUNTIME140APP.dll, VCRUNTIME1401APP.dll o MSVCP140APP.dll aparecen con tamaño 0 bytes, confirma el escenario.

Ejecución como TrustedInstaller

Para modificar de forma segura la carpeta WindowsApps necesitas un proceso que herede el contexto de TrustedInstaller. El camino más práctico y reversible es con AdvancedRun de Nirsoft:

  1. Descarga la utilidad y ejecútala.
  2. En Program to Run escribe cmd.exe.
  3. En Run As selecciona TrustedInstaller.
  4. Haz clic en Run para abrir una consola con esos privilegios.

Comprueba dentro de esa consola especial que el usuario efectivo es el correcto:

whoami

Deberías ver algo como nt service\trustedinstaller.

Aislamiento del paquete dañado

En esa consola elevada navega y renombra la carpeta afectada. Renombrar es más seguro que eliminar y fuerza al sistema a considerar el paquete como ausente:

cd /d "C:\Program Files\WindowsApps"
ren Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe VCLibs.OLD
exit

Si recibes “Access is denied” es que la consola no está realmente bajo TrustedInstaller. Vuelve a abrirla con AdvancedRun y repite.

Reinicio del sistema

Reinicia Windows para que el subsistema de despliegue de apps actualice su estado y libere posibles manejadores que estuvieran bloqueando archivos.

Reinstalación del paquete

Tienes dos caminos válidos:

  • Opción manual: instala el paquete .appx de Microsoft.VCLibs.140.00 correspondiente a tu arquitectura. Si dispones del archivo, colócalo en una carpeta local y ejecútalo con doble clic o con PowerShell:
powershell
Add-AppxPackage -Path ".\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe.appx"
  • Opción automática: tras el reinicio, abre Microsoft Store y accede a la sección de descargas o simplemente lanza cualquier app UWP. El sistema detectará que falta el marco VCLibs y lo descargará de nuevo.

Comprobación tras la reparación

Vuelve a iniciar Bloc de notas, Calculadora, Fotos o Microsoft Store. El error “Bad Image” debe desaparecer. Además, puedes verificar el tamaño correcto de los archivos recién instalados:

dir "C:\Program Files\WindowsApps\Microsoft.VCLibs.140.00*x648wekyb3d8bbwe" /a

Detalles técnicos clave

  • El paquete Microsoft.VCLibs contiene las bibliotecas en tiempo de ejecución de Visual C++ específicas para UWP. Muchas apps modernas dependen de él.
  • El error 0xc0000020 se dispara porque el cargador no puede mapear un PE válido; un DLL de cero bytes hace imposible la carga.
  • Herramientas como sfc /scannow y dism /restorehealth validan componentes del sistema, pero no reparan paquetes MSIX instalados en WindowsApps.

Tabla de diagnóstico rápido

SíntomaPosible causaAcción recomendada
“Bad Image” al abrir apps UWPDLL de VCLibs a cero bytesRenombrar carpeta de VCLibs y reinstalar
SFC y DISM sin hallazgosAlcance limitado a WinSxSUsar método de paquete MSIX descrito
Acceso denegado en WindowsAppsPermisos de TrustedInstallerAbrir consola con AdvancedRun
Reaparición del errorCorte de energía, antivirus, discoComprobar disco, revisar seguridad y actualizaciones

Procedimiento con PowerShell para validar dependencias

Si necesitas conocer qué versiones de VCLibs están instaladas, usa:

PowerShell
Get-AppxPackage -Name VCLibs -AllUsers |
  Select Name, Version, Architecture, PackageFullName |
  Sort-Object Name

Para reinstalar manualmente un paquete .appx que ya tienes descargado:

PowerShell
Add-AppxPackage -Path ".\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe.appx"

Restablecimiento de la caché de la tienda

Si Microsoft Store no descarga el paquete automáticamente, restablece la caché:

wsreset

Tras unos segundos se abrirá la tienda y podrás buscar actualizaciones.

Consejos de prevención

  • Mantén activadas las actualizaciones automáticas de Microsoft Store para que los marcos compartidos se actualicen con fiabilidad.
  • Evita “optimizadores” que borran agresivamente el contenido de WindowsApps o la caché de la tienda.
  • Garantiza espacio libre suficiente durante actualizaciones de apps y del sistema.
  • Verifica el estado del disco si has sufrido apagados inesperados o cortes de energía.

Comprobaciones adicionales de salud del sistema

Aunque no reparen el paquete de la tienda, es sensato confirmar que el sistema base está íntegro:

sfc /scannow
dism /online /cleanup-image /scanhealth
dism /online /cleanup-image /restorehealth
chkdsk /scan

Solución avanzada sin utilidades externas

No es la vía preferida, pero si no puedes usar AdvancedRun existen alternativas técnicas. Tómalas con cautela.

Opción sistema: iniciar un cmd como SYSTEM con herramientas avanzadas. Aun así, SYSTEM puede carecer de permisos sobre WindowsApps; por eso el enfoque con TrustedInstaller es más seguro.

Opción cambio temporal de permisos: como último recurso, podrías asumir propiedad de la carpeta concreta, renombrarla y restaurar los permisos. No se recomienda en entornos productivos porque los cambios en ACLs pueden provocar efectos colaterales en futuras instalaciones. Si decides continuar, asegúrate de guardar y restaurar ACLs:

REM No recomendado, usar solo si entiendes las implicaciones
icacls "C:\Program Files\WindowsApps" /save "%userprofile%\acl_windowsapps.txt" /t
takeown /f "C:\Program Files\WindowsApps\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe" /a /r /d y
icacls "C:\Program Files\WindowsApps\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe" /grant Administrators:F /t
ren "C:\Program Files\WindowsApps\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe" VCLibs.OLD
icacls "C:\Program Files\WindowsApps" /restore "%userprofile%\acl_windowsapps.txt"

Tras el renombrado, sigue con el reinicio y la reinstalación del paquete.

Validación exhaustiva

Confirma que los DLL tienen tamaños razonables y fechas recientes en la nueva carpeta de VCLibs. También puedes verificar el registro de eventos:

  • Visor de eventos > Registros de Windows > Aplicación: busca eventos de error de las apps afectadas cercanos al momento del fallo.
  • Registros de implementación de apps > Microsoft‑Windows‑AppXDeployment‑Server: comprueba eventos de reinstalación del paquete.

Guion de detección en PowerShell

El siguiente fragmento detecta DLL de VCLibs con tamaño cero y da una salida clara. Úsalo para diagnóstico, no modifica nada:

PowerShell
$base = "C:\Program Files\WindowsApps"
$pattern = "Microsoft.VCLibs.140.00*x648wekyb3d8bbwe"
Get-ChildItem -Path (Join-Path $base $pattern) -Recurse -Filter "*_APP.dll" -ErrorAction SilentlyContinue |
  Select-Object FullName, Length |
  Sort-Object FullName |
  ForEach-Object {
    if ($_.Length -eq 0) {
      Write-Host "[CORRUPTO] $($_.FullName) tiene 0 bytes" -ForegroundColor Red
    } else {
      Write-Host "[OK]       $($.FullName) $([Math]::Round($.Length/1KB)) KB" -ForegroundColor Green
    }
  }

Errores frecuentes durante la reparación

  • La carpeta no se deja renombrar: asegúrate de que la consola corre como TrustedInstaller. Cierra todas las apps UWP antes de intentarlo.
  • La tienda no descarga nada: ejecuta wsreset, verifica conexión y espacio en disco, y comprueba la hora del sistema.
  • El mismo paquete aparece varias veces: puede haber versiones en paralelo. El sistema selecciona la adecuada según dependencia; céntrate en la que está corrupta.
  • Persisten mensajes de Bad Image: comprueba que no se trate de otro marco, por ejemplo la variante UWPDesktop de VCLibs o dependencias distintas.

Buenas prácticas tras recuperar el sistema

  • Activa las actualizaciones automáticas en Microsoft Store y revisa periódicamente la sección de biblioteca para aplicar parches de marcos compartidos.
  • Evita limpiar manualmente WindowsApps y no elimines carpetas de paquetes aunque parezcan duplicadas.
  • Si administras varios equipos, documenta este procedimiento y estandariza su ejecución con un flujo de aprobación para entornos empresariales.

Mensaje para equipos de soporte

Este incidente no apunta a una imagen de sistema general dañada sino a un paquete de tiempo de ejecución UWP corrupto. El tiempo invertido en ejecutar SFC o DISM es útil para descartar corrupción del sistema base, pero la acción correctiva clave es reemplazar el paquete MSIX defectuoso. Mantener este enfoque reduce tiempos de indisponibilidad y evita reinstalaciones innecesarias del sistema.

Conclusión

Cuando un conjunto de apps modernas deja de abrirse en Windows 11 con “Bad Image” 0xc0000020 y menciones a VCRUNTIME140_APP.dll, el problema se encuentra en Microsoft.VCLibs dentro de WindowsApps. Renombrar el paquete afectado con contexto TrustedInstaller, reiniciar y permitir que la tienda reinstale el marco restaura el entorno en minutos. Es una solución segura, reversible y alineada con el modelo de paquetes de Windows.


Instrucciones completas utilizadas

  1. Verificar la corrupción
dir "C:\Program Files\WindowsApps\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe" /a
  1. Obtener privilegios de TrustedInstaller: abrir cmd con AdvancedRun en modo TrustedInstaller.
  2. Aislar el paquete corrupto
cd /d "C:\Program Files\WindowsApps"
ren Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe VCLibs.OLD
exit
  1. Reiniciar.
  2. Reinstalar Microsoft.VCLibs.140
  • Opción A: ejecutar el .appx correspondiente.
  • Opción B: abrir Microsoft Store para que descargue el paquete automáticamente.
  1. Comprobar: abrir Notepad, Fotos, Calculadora, etc.

Apéndice PowerShell

Instalación del paquete cuando el archivo .appx está disponible localmente:

PowerShell
Add-AppxPackage -Path ".\Microsoft.VCLibs.140.0014.0.33519.0x648wekyb3d8bbwe.appx"

Habilitar actualizaciones automáticas en la tienda y evitar herramientas de limpieza agresivas ayudará a prevenir incidencias similares en el futuro.

Índice