Application was unable to start correctly (0xc000007b): fix
Error 0xc000007b (STATUS_INVALID_IMAGE_FORMAT) means Windows tried to load a program file or DLL that is damaged or built for the wrong architecture. Usually that is a 32-bit DLL inside a 64-bit program, or the other way round. The most likely fix is to install both the x64 and x86 versions of the latest Microsoft Visual C++ Redistributable, restart, and try again.
What this message means
0xc000007b is the Windows status code STATUS_INVALID_IMAGE_FORMAT. When a program starts, Windows loads the .exe and every DLL it depends on. If any one of those files is not a valid executable for this program, Windows stops the launch and shows this message. It does not say which file failed. According to Microsoft, the most common reason is an architecture mismatch: a 64-bit program finds a 32-bit copy of a DLL (or the reverse), often a Visual C++ or DirectX runtime file. Less often the file is corrupted, or a non-executable file has been renamed to .dll or .exe. The program itself is usually fine. A supporting file is the problem.
Common causes
| Cause | How to tell |
|---|---|
| A Visual C++ runtime is missing, damaged, or installed only in the wrong bitness (for example only x64 when the program is 32-bit). | Several different programs or games fail with the same code, or the error started after uninstalling software or 'cleaning up' Programs and Features. The programs usually open fine on other PCs. |
| A DLL was copied by hand into C:\Windows\System32, C:\Windows\SysWOW64 or the program folder, often from a 'DLL download' site, and it is the wrong 32-bit or 64-bit build. | You (or a guide) recently fixed a 'DLL was not found' error by downloading a single DLL, and 0xc000007b appeared right after. Loose copies of files like msvcp140.dll, vcruntime140.dll or d3dx9_43.dll sit next to the program's .exe. |
| A game is missing its legacy DirectX 9/10/11 helper files (D3DX, XInput 1.3, XAudio 2.7) or one of its bundled redistributables failed to install. | Only one game, usually an older one, fails. Its install folder contains a _CommonRedist or Redist folder, and the error appears before any game window or logo opens. |
| The program itself is the wrong build for your Windows, or its files are damaged or incomplete (interrupted download, bad mod, antivirus quarantine). | Only this one program fails, and it began after an update, a mod install or an antivirus alert. You may have installed a 64-bit build on 32-bit Windows, or an ARM build on an Intel/AMD PC. |
| Corrupted Windows system files or disk errors. | Many unrelated apps fail, sometimes including built-in Windows tools. Other symptoms appear too, such as random crashes or failed updates, and sfc /scannow reports files it could not fix. |
How to fix it
1. Install both the x64 and x86 Visual C++ Redistributables
Windows 10 and Windows 11. On 32-bit Windows, install only the x86 package. On Windows 11 on ARM, also install the ARM64 package.
- Check your Windows type: open Settings > System > About and read 'System type' (64-bit or 32-bit, x64 or ARM).
- Download Microsoft's latest x64 package from https://aka.ms/vc14/vc_redist.x64.exe and the x86 package from https://aka.ms/vc14/vc_redist.x86.exe.
- Run both installers, even on 64-bit Windows. Many 64-bit PCs still run 32-bit programs, and those need the x86 runtime.
- If an installer says the package is already installed, click Repair.
- Restart the PC and open the program again.
2. Remove DLLs you copied in by hand
- Think back: did you download a single DLL from a website and paste it into C:\Windows\System32, C:\Windows\SysWOW64 or the program's folder? That is the classic cause of this error.
- Delete (or move to a backup folder) any DLL you added to the program's folder that did not come with the program's installer.
- Do not delete files from System32 or SysWOW64 unless you know you put them there. Instead, run the Visual C++ installers from Fix 1 again and choose Repair so Windows puts back the correct copies.
- Note that the folder names are the reverse of what you would expect: on 64-bit Windows, System32 holds 64-bit files and SysWOW64 holds 32-bit files. A 32-bit DLL placed in System32 will break 64-bit programs.
- Restart and test the program.
3. For games: verify files and run the bundled redistributables
PC games from Steam, Epic Games Launcher, EA app, GOG and similar
- In Steam, right-click the game in your Library > Properties > Installed Files > Verify integrity of game files. Other launchers have a similar Verify or Repair option in the game's menu.
- Open the game's install folder and look for _CommonRedist (Steam) or a Redist folder. Run every vcredist and DirectX installer inside it, including both x86 and x64 versions.
- If there is no bundled DirectX installer, run Microsoft's DirectX End-User Runtime Web Installer (microsoft.com/download, details id=35). It adds the legacy D3DX9/10/11, XInput 1.3 and XAudio 2.7 files that Windows 10 and 11 do not include.
- If you installed mods, script extenders or ReShade, remove them and test the game without them.
- Restart and launch the game.
4. Reinstall the program, using the build that matches your Windows
- Open Settings > Apps > Installed apps (Windows 11) or Settings > Apps > Apps & features (Windows 10), find the program and click Uninstall.
- Download a fresh installer from the vendor's official site, not a mirror or DLL site.
- Pick the build that matches the 'System type' from Settings > System > About. Never install a 64-bit build on 32-bit Windows. On an ARM PC, use the ARM64 or x64 build.
- If your antivirus quarantined files during install, restore them or add an exclusion for the install folder, then reinstall.
- Restart and test.
5. Repair Windows system files and check the disk
Windows 10 and Windows 11
- Type cmd in the Search box, right-click Command Prompt and select Run as administrator.
- Run: DISM.exe /Online /Cleanup-image /Restorehealth and wait for it to finish.
- Then run: sfc /scannow. Do not close the window until verification reaches 100%.
- Run: chkdsk C: /f and type Y to schedule the check at the next restart.
- Restart the PC, let the disk check finish, then test the program.
6. Find the exact file that is being rejected (advanced / IT)
- Open Event Viewer > Windows Logs > Application and find the Error event (usually Event ID 1000 or 1005) logged when the app failed. Look for 'Exception code: 0xc000007b' and the program name.
- Download Process Monitor from Microsoft Sysinternals, set a filter for Process Name is <yourprogram>.exe and Process Name is werfault.exe, then reproduce the error.
- Just before werfault.exe starts, find the last DLL the program opened successfully and then kept searching for. That DLL is usually the wrong-architecture file.
- Check that DLL's bitness with a dependency tool such as Dependencies (the modern successor to Dependency Walker). Look for an x86 module inside an x64 program, or the reverse.
- Replace that file with the correct build by reinstalling the component it belongs to, not by downloading it on its own.
Next time, skip the search
Crade is an AI assistant for Mac and Windows that sees your screen. When a message like this pops up, ask “what does this mean?” and it explains the exact error in front of you, step by step.
Download CradeStill not fixed?
If none of the fixes work, create a new local Windows user account and try the program there. If it runs, something in your user profile or a startup tool is interfering. If it fails the same way on a clean Windows install or another PC, the program's build is faulty: contact the software vendor or game developer with the Event Viewer entry (exception code and faulting module name). For Microsoft software, open a case through support.microsoft.com. As a last resort, use Settings > System > Recovery > 'Fix problems using Windows Update' (Windows 11) to reinstall Windows while keeping your files and apps.
Questions people ask
What does error code 0xc000007b mean?
It is STATUS_INVALID_IMAGE_FORMAT. Windows found an .exe or DLL it could not load, almost always because a 32-bit file is mixed with a 64-bit program (or the reverse), and sometimes because the file is corrupted.
Does reinstalling .NET Framework fix 0xc000007b?
Rarely. Many guides suggest it, but a missing .NET runtime usually shows a different message that names .NET. Visual C++ and DirectX runtimes are far more common culprits, so try those first.
Will running the program as administrator fix it?
Usually not. Administrator rights do not change which DLLs are loaded, so an architecture mismatch or corrupt file still fails the same way. It is a quick test, but do not expect it to be the fix.
Why do I need the x86 Visual C++ runtime on 64-bit Windows?
Many programs and games are still 32-bit, and a 32-bit program can only load 32-bit (x86) DLLs. Installing both the x86 and x64 packages covers every program on the PC.
Is it safe to download a missing DLL from a DLL website?
No. These sites often serve the wrong bitness or an outdated version, which is exactly what causes 0xc000007b, and some files carry malware. Install the official package the DLL belongs to instead, such as the Visual C++ Redistributable or DirectX runtime.
Sources
- Diagnosing STATUS_INVALID_IMAGE_FORMAT (C000007B) Errors (Microsoft Learn)
- Latest supported Visual C++ Redistributable downloads (Microsoft Learn)
- Use the System File Checker tool to repair missing or corrupted system files (Microsoft Support)
- DirectX End-User Runtime Web Installer (Microsoft Download Center)
- VCRUNTIME140.dll was not found on Windows: how to fix it
- Windows "This app can't run on your PC": causes and fixes
- Windows "Activate Windows" watermark: what it means and how to fix it
- Windows activation error 0xC004F074: what it means and how to fix it
- Windows "No Audio Output Device is installed": causes and fixes
- Windows Automatic Repair couldn't repair your PC: fixes