Error 0xc000007b
“The application was unable to start correctly (0xc000007b)” means Windows couldn’t load one of the game’s files, usually a DLL built for the other kind of program: 32-bit in a 64-bit game, or the other way round. To fix it, remove DLLs you copied into the game’s folder, repair both Visual C++ packages, then let Windows check its own files.
Updated 29 October 2026 · Em português

What 0xc000007b means
Windows’ name for the code is STATUS_INVALID_IMAGE_FORMAT: a program file that either isn’t built to run on this Windows or is damaged. 64-bit Windows runs 32-bit and 64-bit programs side by side, but each program loads only DLLs of its own kind. A 64-bit game can’t load a 32-bit DLL, and a 32-bit game can’t load a 64-bit one. The message doesn’t say which file it was.
- A DLL in the game’s folder
- Windows looks in the game’s own folder before its system folders, so a DLL of the wrong kind copied there is loaded first, even when Windows has the right one.
- A damaged runtime
- A Visual C++ or DirectX file that’s corrupted, or was replaced by a copy of the wrong kind.
- A swapped system file
- A DLL of the wrong kind pasted by hand into
System32orSysWOW64. - A damaged game file
- The game’s own program or one of its DLLs is incomplete or corrupted.
How to fix it
- Remove DLLs you added. If you copied a DLL into the game’s folder yourself, from a DLL site, a forum or another PC, move it out. Leave the files the game came with where they are; if your copy replaced one of them, reinstalling the game puts the original back.
- Install both Visual C++ packages. On Microsoft’s Visual C++ Redistributable page, download the X86 and the X64 package of the latest v14 version and run each one. If it says that version is already installed, press Repair; if setup fails because a newer one is there, that package is fine. A 32-bit game needs the X86 package even on 64-bit Windows. Older games use older versions as well: see which DLL needs which package.
- For an older game, add DirectX’s extras. Microsoft’s DirectX End-User Runtime installs the D3DX, XInput and XAudio files some older games load, beside the DirectX Windows has: how to install it.
- Let Windows repair its own files. Type cmd in Search, right-click Command Prompt and choose Run as administrator. Run
DISM.exe /Online /Cleanup-image /Restorehealth, which fetches good copies through Windows Update, thensfc /scannow, and leave the window open until it reaches 100%. Microsoft’s guide to both tools explains what each result means. - Restart, then start the game. If the code comes back, install the game again: Microsoft’s own text for this code says a file may be damaged and suggests installing the program again.

Why not paste a DLL into System32?
Many fixes online say to paste a DLL into C:\Windows\System32 or SysWOW64. On 64-bit Windows, System32 holds the 64-bit DLLs and SysWOW64 the 32-bit ones, the reverse of what the names suggest, so a file put there by hand is easily the wrong kind. Then every program that loads it can fail, not only the game. Microsoft’s packages install those files for you; leave those two folders to them.

Still not starting?
- If Windows names a missing file instead (“MSVCP140.dll was not found”), the runtime is missing rather than mixed up: see MSVCP140.dll was not found.
- If it names
d3dx9_43.dllorxinput1_3.dll, see d3dx9_43.dll is missing.
Or let Water do it
Water is a game launcher for Windows. When a game’s setup calls for the Visual C++, DirectX or .NET installers that come with it, Water runs them during the install. For the console emulators that need it, it installs Microsoft’s 64-bit Visual C++ runtime when the PC lacks it, after one Windows permission prompt. You press Install, then Play.
