Error 0xc000007b al abrir un juego: «la aplicación no se pudo iniciar correctamente»
«La aplicación no se pudo iniciar correctamente (0xc000007b)» quiere decir que el juego ha intentado cargar una librería del tipo equivocado: una DLL de 64 bits donde esperaba una de 32, o al revés. Windows corta la ejecución antes de que el juego llegue a abrir ninguna ventana.
Ese desajuste casi siempre viene de fuera del juego: los redistribuibles de Visual C++ mal
instalados, las librerías antiguas de DirectX que faltan o están cambiadas, o un
"reparador de DLL" que copió archivos sueltos dentro de System32. Reinstalar el juego no toca
ninguna de las tres cosas, y por eso no suele servir de nada.

Tabla rápida: cuándo aparece → por dónde empezar
| Cuándo te sale | Causa más probable | Primer paso |
|---|---|---|
| En un juego recién instalado | Redistribuibles de VC++ incompletos | Reinstalar VC++ x86 y x64 |
| En juegos antiguos o indies | Faltan las DLL de DirectX 9 | Instalar DirectX End-User Runtime |
| Justo después de usar un "DLL fixer" | DLLs sueltas copiadas en System32 | Deshacer esos archivos |
| En todos los programas, no solo juegos | Sistema o .NET dañados | sfc /scannow y DISM |
| Tras un aviso del antivirus | Ejecutable en cuarentena | Restaurar y excluir la carpeta |
| Solo si lo abres desde el acceso directo | Ruta o permisos del atajo | Abrir el .exe de la carpeta |
Es fácil confundirlo con dos avisos vecinos. Si el código que ves es 0xc0000142, la causa es
otra y está en
error 0xc0000142 al abrir un juego.
Si en vez de un código Windows te nombra un archivo .dll concreto, el camino correcto es
falta un archivo DLL al abrir un juego.
1. Qué significa el 0xc000007b en realidad
El nombre interno del código es STATUS_INVALID_IMAGE_FORMAT. Traducido: Windows fue a cargar un
módulo y el formato no coincidía con el proceso que lo pedía.
Un juego de 32 bits solo puede cargar DLLs de 32 bits; uno de 64 bits, solo de 64. Windows guarda cada versión en un sitio distinto, y el nombre de las carpetas engaña:
| Carpeta | Qué contiene de verdad |
|---|---|
C:\Windows\System32 |
Librerías de 64 bits |
C:\Windows\SysWOW64 |
Librerías de 32 bits |
Ese detalle explica la mayoría de los casos: alguien —una herramienta automática, una guía de foro o
un instalador chapucero— dejó una DLL de 64 bits en SysWOW64 o al revés, y desde entonces
cualquier programa que la use revienta con este código.
2. Descarta lo rápido antes de tocar nada
Dos minutos, y evitan trabajo inútil:
- Reinicia el PC. Si el error apareció tras una actualización a medias, esto solo ya lo cierra.
- Verifica los archivos del juego en Steam: clic derecho en el juego → Propiedades → Archivos instalados → Verificar la integridad de los archivos. Repone lo que falte sin borrar tus partidas ni tu configuración.
- Abre el
.exedirectamente desde la carpeta del juego, no desde el acceso directo. Si así arranca, el problema era el atajo, no las librerías.
Si la verificación se queda a medias o Steam se queja al escribir, resuelve eso primero con error de escritura en disco de Steam.
3. Reinstala los redistribuibles de Visual C++ (los dos)
Es la solución que arregla más casos, y donde casi todo el mundo se equivoca: hay que instalar la versión x86 y la x64, aunque tengas Windows de 64 bits. Muchísimos juegos son de 32 bits y necesitan la x86 sí o sí.
- Descarga desde Microsoft el paquete Visual C++ Redistributable 2015-2022 (cubre 2015, 2017, 2019 y 2022 en un solo instalador).
- Instala primero vc_redist.x86.exe y después vc_redist.x64.exe.
- Si el instalador ofrece Reparar, úsalo; si ya está puesto y da error, Desinstalar → reiniciar → instalar limpio.
- Reinicia y prueba el juego.
Los juegos algo más viejos también piden los paquetes 2010, 2012 y 2013, cada uno en sus
dos arquitecturas. Los tienes dentro de la carpeta _CommonRedist o Redist del propio juego:
instálalos desde ahí, que son exactamente las versiones que ese juego espera.
4. Instala el DirectX antiguo (el que sí falta)
Windows 10 y 11 traen DirectX 12, pero no traen las librerías de DirectX 9 (d3dx9_43.dll,
xinput1_3.dll, d3dcompiler_43.dll y compañía), y una cantidad enorme de juegos las sigue
pidiendo. Cuando falta alguna, unas veces Windows te la nombra y otras salta directamente el
0xc000007b.
- Descarga el DirectX End-User Runtime Web Installer de Microsoft y ejecútalo. No sustituye a tu DirectX 12: solo añade las piezas viejas que faltan.
- Alternativa sin conexión: dentro del juego,
_CommonRedist\DirectX\Jun2010\DXSETUP.exe.
Tras instalarlo, reinicia. Este paso y el anterior, juntos, resuelven la gran mayoría de los 0xc000007b.

5. Deshaz lo que hizo el "reparador de DLL"
Si el error empezó justo después de instalar un programa que prometía "arreglar tus DLL", ahí está
la causa. Esas herramientas descargan DLLs sueltas de origen dudoso y las copian en System32 sin
mirar la arquitectura ni la versión.
- Desinstala el programa desde Configuración → Aplicaciones.
- Localiza las DLLs que dejó sueltas. Ordena
C:\Windows\System32yC:\Windows\SysWOW64por fecha de modificación: las que tengan la fecha del día en que usaste la herramienta son las sospechosas. - No las borres a lo bruto. Renómbralas añadiendo
.oldal final y reinicia. Si algo se rompe, basta con quitarles el.old. - Repón las originales con
sfc /scannow(paso 7), que restaura las versiones legítimas de Windows.
El mismo criterio vale para las DLLs que alguna guía te mandó copiar dentro de la carpeta del
juego (xinput1_3.dll, d3dx9_43.dll, msvcp140.dll...). Sácalas de ahí: si el juego es de 64
bits y la DLL era de 32, ese archivo es justo el que provoca el 0xc000007b. Verifica archivos
después.
6. Antivirus, cuarentena y permisos
- Mira la cuarentena del antivirus. Si se llevó un ejecutable o una DLL del juego, restáurala y
añade una exclusión para la carpeta del juego dentro de
steamapps\common. - Prueba a ejecutarlo como administrador una vez, con clic derecho sobre el
.exe. Si así funciona, lo que falla son los permisos de la carpeta, no las librerías. - No dejes el antivirus desactivado como solución permanente. Con la exclusión de la carpeta basta, y quedarte sin protección no es arreglar nada.
7. Cuando falla en todos los programas, no solo en un juego
Si el 0xc000007b sale también fuera de los juegos, lo que está dañado es el sistema. En una consola abierta como administrador:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Ejecuta primero sfc. Si dice que encontró archivos dañados y no pudo repararlos, lanza DISM y
después repite sfc. Al terminar, reinicia.
Añade dos comprobaciones más:
- .NET Framework: en Activar o desactivar características de Windows, desmarca .NET 3.5, reinicia y vuelve a marcarlo. Bastantes lanzadores de juegos dependen de él.
- Actualizaciones pendientes de Windows. Una actualización a medias deja componentes en un estado raro que produce exactamente este síntoma.
Si después de todo esto el juego arranca pero se cierra al rato, ya es otro problema y lo cubre ¿por qué un juego se cierra solo?.
Errores habituales
- Instalar solo el Visual C++ x64. La mitad de los juegos son de 32 bits y necesitan el x86.
- Descargar DLLs sueltas de páginas de terceros. Es la causa más frecuente del error, no su solución.
- Reinstalar el juego lo primero. Tarda una hora y no toca nada de lo que realmente falla.
- Confundirlo con el 0xc0000142. Son códigos distintos, con causas distintas.
- Ejecutar siempre como administrador en vez de arreglar los permisos de la carpeta.
- Ignorar el
_CommonRedistdel propio juego, que trae justo las versiones correctas.
Preguntas frecuentes
¿Qué significa el error 0xc000007b? Que el programa intentó cargar una librería de una arquitectura distinta a la suya: una DLL de 64 bits en un proceso de 32 bits, o al revés. Windows lo detiene antes de arrancar.
¿Se arregla reinstalando el juego? Casi nunca. El fallo está en las librerías del sistema (Visual C++ y DirectX), no en los archivos del juego.
¿Tengo que instalar el Visual C++ de 32 y de 64 bits? Sí, los dos. Instala primero el x86 y después el x64, aunque tu Windows sea de 64 bits.
¿Es lo mismo que el 0xc0000142? No. El 0xc000007b es un formato de imagen inválido (mezcla de 32 y 64 bits); el 0xc0000142 es una DLL que sí carga, pero falla al inicializarse.
¿Sirven los programas que dicen reparar DLLs?
No, y a menudo son la causa: copian archivos de origen desconocido en System32. Si usaste uno,
desinstálalo y ejecuta sfc /scannow.
Conclusión
El orden que funciona es corto: verifica archivos, reinstala Visual C++ x86 y x64,
instala el DirectX antiguo y, si el error nació de una herramienta de "reparación de DLLs",
deshaz lo que dejó y pasa sfc /scannow. Solo cuando el 0xc000007b aparece también fuera de los
juegos merece la pena ir a por el sistema con DISM.
Comentarios