Error 0xc000007b “The application was unable to start correctly”: how to fix it
The message “The application was unable to start correctly (0xc000007b). Click OK to close the application.” appears when a game or program starts, often just after copying a DLL or installing a program.
Unlike the “missing DLL” error, the file is found: it is its 32-bit or 64-bit version that does not match the program. This guide explains how to find the file at fault and put things back in order.
In short
- Code 0xc000007b means that a program loaded a DLL with the wrong architecture: a 64-bit DLL in a 32-bit program, or the reverse.
- First undo the DLL copies made by hand, especially in
C:\Windows\System32andC:\Windows\SysWOW64. - Then reinstall the official Visual C++ and DirectX packages in both x86 and x64 versions, and repair the program itself.
Where does error 0xc000007b come from?
Windows is now 64-bit, but many games and programs are still 32-bit. A program can only use DLLs with the same architecture as itself. When Windows finds a DLL with the right name but the wrong architecture, it refuses to start the program with code 0xc000007b (“invalid image format”).
The most frequent causes:
- DLL copied by hand to the wrong place: a 32-bit DLL put in
C:\Windows\System32, or a 64-bit DLL put inC:\Windows\SysWOW64or in the folder of a 32-bit game. - Incomplete Visual C++ or DirectX package: only the 64-bit version is installed while the game is 32-bit (or the reverse), or the package is damaged.
- Modified program installation: file replaced by a patch or a mod, or deleted by an antivirus.
Not to be confused with code 0xc0000135, which means that a component cannot be found (often the .NET Framework): in that case, the file really is missing.
Step 1: undo the DLL copies made by hand
If you copied one or more DLLs just before the error appeared, this is the first lead:
- Find the copied files: in the program’s folder (next to its
.exe), inC:\Windows\System32and inC:\Windows\SysWOW64. Sort by Date modified to spot the most recent ones. - Check their architecture: on our site, each file page says whether the DLL is 32-bit or 64-bit, and many offer both versions. Replace a file that is in the wrong place with the right version (table below), or remove it.
- Rather than deleting, rename the file by adding
.oldto the end of its name: you will be able to undo it. If you replaced an original Windows file, the repair in step 4 restores it.
| Folder | Expected DLLs |
|---|---|
C:\Windows\System32 (64-bit Windows) | 64-bit only |
C:\Windows\SysWOW64 (64-bit Windows) | 32-bit only |
Folder of a 32-bit program (often under C:\Program Files (x86)) | 32-bit |
Folder of a 64-bit program (often under C:\Program Files) | 64-bit |
Yes, on 64-bit Windows, “System32” contains the 64-bit files and “SysWOW64” the 32-bit files: it is counter-intuitive, and it is precisely the source of many 0xc000007b errors.
Step 2: reinstall Visual C++ and DirectX in 32-bit and 64-bit
- Install or repair the Visual C++ 2015-2022 package in both versions: 32-bit (x86) and 64-bit (x64). Older games also use the 2005 to 2013 packages, available on the official Visual C++ packages page: install them in x86 and x64 too.
- Package already installed? Settings › Apps › Installed apps › the Visual C++ package concerned › Modify › Repair.
- Install the legacy DirectX libraries with Microsoft’s official DirectX End-User Runtime.
- Restart your computer, then launch the program again.
Steam games often ship these packages in their _CommonRedist folder (vcredist and DirectX subfolders): these are exactly the versions the game expects. More details in the Visual C++ errors and DirectX errors guides.
Step 3: repair or reinstall the program
- Steam game: right-click the game › Properties › Installed Files › Verify integrity of game files. Other platforms (Epic, EA, Ubisoft, GOG…) offer a “Verify” or “Repair” function.
- Other program: uninstall it, restart, then reinstall it from its official setup program.
- Recent mod or patch: remove it, it may have replaced a DLL with a version of another architecture.
Step 4: repair Windows
If the error affects several programs, a system file may have been replaced or damaged:
- Open a Command Prompt as administrator, type
DISM /Online /Cleanup-Image /RestoreHealth, wait until it finishes, then typesfc /scannow. - Install all Windows Update updates and the latest driver for your graphics card.
- Restart your computer.
All the details in the missing Windows system DLL guide.
Going further: finding the DLL at fault
Program architecture: a program installed under C:\Program Files (x86) is 32-bit, a program installed under C:\Program Files is generally 64-bit. For a program that starts, Task Manager also shows it: Details tab, right-click the column headers › Select columns › Platform.
DLLs used: the free, open source Dependencies tool shows all the DLLs a program needs, with their location and architecture. Open the program’s .exe file and look for a DLL whose architecture differs from the program’s: that is the one to replace.
DLL files concerned
Each file page offers the download of the file alone and the complete method suited to it.
Frequently asked questions
Do I need to reinstall Windows?
Almost never: the error usually comes from one specific DLL. Steps 1 to 3 are enough in the vast majority of cases, and the repair in step 4 covers the others.
I have 64-bit Windows: why install the 32-bit packages?
Because many games and programs are still 32-bit: on 64-bit Windows, they use the 32-bit DLLs in the SysWOW64 folder, installed by the x86 packages. Both versions coexist without any problem.
Which version should I download from a page that offers 32-bit and 64-bit?
The one that matches the program showing the error, not Windows. If error 0xc000007b appears after copying the 64-bit version, replace it with the 32-bit version, and vice versa.