Fix 0xc000007b: Application Was Unable to Start Correctly

On this page

Error 0xc000007b means Windows tried to load a file built for the wrong architecture — almost always a 32-bit DLL in a 64-bit game, or the reverse — so it refused to start the program. The fix is to reinstall the official runtimes the game depends on (Visual C++ in both x64 and x86, plus DirectX), verify the game files, and remove any DLL that was copied in by hand. Those three steps fix the large majority of cases.

Fix 0xc000007b: Application Was Unable to Start Correctly

The message looks like this:

The application was unable to start correctly (0xc000007b). Click OK to close the application.

The code is STATUS_INVALID_IMAGE_FORMAT. It appears at launch, before the game shows anything. If your game starts and then crashes, you have a different problem. See the table below.

Is this the right error?

Launch errors and mid-game crashes look similar but have different causes:

CodeWhen it happensWhat it meansGuide
0xc000007bAt launch, nothing loadsWrong-architecture DLL or runtime (32/64-bit mismatch)This page
0xc0000005At launch or mid-gameAccess violation: bad memory access (mods, overlays, unstable RAM)0xc0000005 fix
DXGI_ERROR_DEVICE_HUNG / REMOVEDMid-gameThe GPU stopped responding or was resetDevice hung · Device removed
Anti-cheat errorAt launchEAC, BattlEye or Vanguard failed to startAnti-cheat hub

Why it happens

64-bit Windows runs both 64-bit and 32-bit programs. It keeps their DLLs apart. On 64-bit Windows, C:\Windows\System32 holds the 64-bit system DLLs and C:\Windows\SysWOW64 holds the 32-bit ones. The names are counterintuitive, but that’s how it works.

When a 64-bit game loads a DLL and finds a 32-bit copy, or a 32-bit launcher finds a 64-bit copy, Windows can’t use it and stops with 0xc000007b. The wrong file usually gets there in one of three ways:

  1. A runtime package is damaged or half-installed. This usually means Visual C++, DirectX or .NET.
  2. Someone copied a DLL in by hand, often from a DLL download site, which frequently serves the 32-bit version.
  3. The game’s own files are corrupted or mixed, for example from an interrupted update, a mod, or files copied from another install.

Fix 1: Reinstall the Visual C++ Redistributables (x64 and x86)

This is the most common fix. Install both architectures, even on 64-bit Windows. Many games, launchers and anti-cheat components are still 32-bit.

  1. Download Microsoft’s latest supported Visual C++ v14 Redistributable, the package that covers Visual Studio 2017 through 2026:
    • x64: https://aka.ms/vc14/vc_redist.x64.exe
    • x86: https://aka.ms/vc14/vc_redist.x86.exe
  2. Run each one. If it offers Repair, choose Repair. If it installs fresh, let it finish.
  3. Restart the PC and launch the game.

Older games may also need the 2013 or earlier runtimes, which install side by side with the v14 package. The easiest way to get the exact ones your game needs is Fix 2.

Fix 2: Run the installers the game ships with

Most Steam games include their runtimes in a _CommonRedist folder inside the game directory: Steam\steamapps\common\<Game>\_CommonRedist\. You’ll typically find subfolders like vcredist, DirectX and DotNet.

  • In vcredist, run both the x64 and x86 installers for each year listed.
  • In DirectX, run DXSETUP.exe. Windows 10 and 11 already include DirectX 11 and 12, but older games still call the legacy DirectX 9–11 runtime DLLs (d3dx9_43.dll, xinput1_3.dll and similar), which only this installer adds.
  • In DotNet, run the installer if one is there.

These are the exact versions the developer tested against, which is why this step often works after a generic reinstall didn’t.

Fix 3: Verify the game files

Corrupted or mixed game files are the next most likely cause, especially after an interrupted update or a mod install:

  • Steam: Library → right-click the game → Properties → Installed Files → Verify integrity of game files
  • Epic Games Launcher: Library → the three dots on the game → Manage → Verify
  • Battle.net / EA app / Ubisoft Connect: use the launcher’s Scan and Repair or Repair option

If you installed mods, remove them first. A mod that ships a DLL built for the wrong architecture triggers exactly this error.

Fix 4: Remove DLLs that were copied in by hand

If you, or a guide you followed, ever downloaded a DLL from a DLL download site and dropped it into System32, SysWOW64 or the game folder, that file is a prime suspect.

  1. Think back: which DLL did you copy, and where? Common ones are msvcp140.dll, vcruntime140.dll, d3dx9_43.dll and xinput1_3.dll.
  2. Remove the manually copied file. Don’t delete system DLLs you didn’t add yourself.
  3. Reinstall the official package that contains it (Fix 1 or Fix 2). The installer puts the right architecture in the right folder.
  4. Run sfc /scannow from an elevated Command Prompt to repair any Windows system file that was overwritten. See fixing DLL errors with DISM and SFC for the full sequence.

Fix 5: Find the exact bad DLL

If the steps above didn’t work, find the offending file directly instead of guessing:

  1. Download Dependencies, a free, open-source rewrite of the classic Dependency Walker, from its GitHub releases page.
  2. Open the game’s main .exe in it.
  3. Look at the architecture of each loaded DLL. The one whose architecture doesn’t match the game’s .exe (for example an x86 DLL under an x64 game) is the cause.
  4. Note its path. If it’s in the game folder, verify files or reinstall the game. If it’s in System32 or SysWOW64, reinstall the runtime it belongs to and run sfc /scannow.

Microsoft’s own guidance on diagnosing STATUS_INVALID_IMAGE_FORMAT uses the same approach: look for the module whose CPU architecture doesn’t match the executable.

Fix 6: Check the .NET Framework

Some launchers and older games need .NET Framework 3.5, which Windows 10 and 11 don’t enable by default:

  1. Press Win + R, type optionalfeatures, press Enter.
  2. Tick .NET Framework 3.5 (includes .NET 2.0 and 3.0), click OK, and let Windows download it.
  3. Restart and try the game again.

Fixes that usually don’t help

  • Running as administrator — harmless to try, but it doesn’t change which DLL gets loaded.
  • Compatibility mode — rarely relevant, because the problem is architecture, not Windows version.
  • Reinstalling Windows — almost never necessary. The runtimes, game files and a rogue DLL cover nearly every case.
  • Driver updates — a GPU driver doesn’t cause an image-format error at launch. If your game starts and then crashes, that’s a different error.

The short version

  1. Reinstall Visual C++ v14 in both x64 and x86.
  2. Run the game’s own _CommonRedist installers, including DirectX DXSETUP.exe.
  3. Verify the game files and remove mods.
  4. Delete any hand-copied DLL and run sfc /scannow.
  5. Use Dependencies to find the one DLL with the wrong architecture.

Once the game launches, if it runs badly rather than failing to start, Tier1Suite covers the common Windows tweaks for smoother frame pacing, including timer resolution.

Frequently asked questions

What does error 0xc000007b mean?

0xc000007b is Windows' STATUS_INVALID_IMAGE_FORMAT code. It means a program tried to load a file — almost always a DLL — built for the wrong architecture, typically a 32-bit DLL loaded into a 64-bit game or the reverse. Windows refuses to start the program and shows 'The application was unable to start correctly (0xc000007b)'.

How do I fix 0xc000007b in games?

Reinstall the Microsoft Visual C++ Redistributable in both x64 and x86 versions, run the DirectX runtime installer from the game's _CommonRedist folder, then verify the game files in Steam, Epic or your launcher. If it still fails, look for a DLL someone copied into the game folder or System32 by hand, and use a tool like Dependencies to find the one with the wrong architecture.

Why do I need both x86 and x64 Visual C++ Redistributables?

A 64-bit Windows install runs both 64-bit and 32-bit programs, and each loads runtime DLLs of its own architecture. Many games, launchers and anti-cheat components are still 32-bit, so a missing or broken x86 runtime can break a 64-bit game's launch chain. Installing both is normal and safe.

Can a DLL from a download site cause 0xc000007b?

Yes, it's one of the most common causes. DLL download sites often serve the 32-bit file, and copying it into System32 or a 64-bit game's folder replaces or shadows the correct 64-bit one. Delete the manually copied DLL and reinstall the official runtime package that contains it instead.

Is 0xc000007b the same as 0xc0000005?

No. 0xc000007b (invalid image format) happens at launch when Windows can't load a program or one of its DLLs because the architecture is wrong. 0xc0000005 (access violation) happens when a program that did load touches memory it isn't allowed to, and is often caused by mods, overlays or unstable RAM. They need different fixes.