How to Fix 0xc000012f (Bad Image) Errors in Windows 10 (SFC File Checker+VC++)
The 0xc000012f error is due to the inability of Windows to read the files/libraries that need to be executed.
If you encounter a Windows 10 error, it is usually due to Visual C++ – or it may be the result of incorrect files, drivers, or other issues.
The error will usually indicate the following:
MSVCP120.dll is not created to run on Windows or contains an error. Try reinstalling the program using the original installation media, or contact your system administrator or software vendor for assistance. 0xc000012f error status
To clear the problem in the loop, the most common cause of the problem is a corrupted/damaged Visual C++ installation.
Visual C++ is a set of files/libraries that allow computer software applications to work with special features.
If you see errors with "MSVCPxxx.dll", these files are named after different versions of VC++ (MS/Microsoft VCP/Visual C PlusPlus xxx/Version) and are installed with the different "Visual C++ Redistributable" packages that are available online.
The most important thing you need to do is to determine which version of VC++ is causing the problem. This can be done by identifying the number in the file with the VC++ version:
- VC++ 2012 – Version 11.0
- VC++ 2013 – Version 12.0
- VC++ 2015 – Version 14.0
- VC++ 2017 – Version 14.1
If you see errors with "MSVCP120.dll", it means that Visual C++ Redistributable 2013 is not installed correctly.
The reason this is important is that a number of software applications can be designed to use certain VC++ packages to run. If this package is missing from your system, it will create an error such as what you are experiencing.
To fix this problem, you should first make sure that you can fix all the essential issues with VC++ and then fix all the issues in Windows.
1. Reinstall VC++
The first step is to reinstall Distributed Visual C++ which is cited as having an error.
The way to do this is actually simple:
- In Windows 7, click "Start" > "Control Panel" > "Programs + Features"
- In Windows 10, right-click on the "Start" button, select "Apps & Features"
- In the list that appears, scroll down to "Microsoft Visual C++ Redistributable"
- With the above list (VC++ 2012 / Version 11.0) – you need to identify which version of VC++ is causing the problem
- To do this, you get the MSVCPxxx error.dll and corresponds to "xxx" with the VC++ version listed above.
- For example, MSVCP110.dll errors are caused by VC++ 2012
- Once you have identified the VC++ version that is causing the problem, select it and tap "Remove"
- If there are multiple collations (you can have x64 + x86 versions), delete both
- Restart the system
After resuming work, you will then need to save the remnants of VC++ file which can cause problems.
Windows uses Dynamic Link Library (DLL) files as "libraries".
This means that whenever a software is designed on the Windows platform, it can call multiple third-party DLL files to get the functionality that it would take months to develop manually.
Distributed C++ visual packages are Microsoft's contribution to this ideal – offering developers a number of essential features that don't exist without VC++ packages.
The downside is that whenever software uses software that requires a DLL, it calls a central database "registry" that lists Windows files.
You can "save" and "unregister" the DLL files in this database – which is probably one of the main reasons for your error.
To do this, you need to follow these steps:
- Press the "Windows" + "R" keys on your keyboard
- Tap "CMD" and press "OK"
- Enter "regsvr32/u msvcpxxx.dll" (where xxx is the file number you just removed from the VC++ installation list)
- This will completely remove the file from the Windows central repository
Once you've done that, it'll also be worth checking it out in C:/Windows/System32:
- Click on "File Explorer"
- Go to C:/Windows/System32
- Locate the file cited in your system error
- If it is there, select and tap "Delete"
- This will send it to the "Recycle Bin" (so we can simply restore it in case of a problem)
Once you've done that, restart your PC (again).
3. Reinstall VC++ Redistributors
Next, you'll want to reinstall the appropriate VC++ revision package from Microsoft.
This not only restores the correct file on your system, but *should* fix all corrupted references.
To do this, you need to follow these steps:
- Click your selected web browser
- Search for "Microsoft Visual Distributed Visual Visual Downloads"
- You need to click on a page called "Latest Redistributed Downloads Supported by Visual C++"
- Scroll down to the version you previously installed
- Download any version you have installed (if you had both x86 + x64 versions – download both)
- Once downloaded, go to your download file and install the x86 version first, then the x64 version
- Once the installation is complete, restart your system
The renewal should give you the opportunity to then test the program by launching the wrong one. If it no longer appears, it usually means that the problem is resolved.
If the error persists, it suggests a deeper problem with Windows.
4. SFC / DISM
If you still see the error, it means that you probably have some sort of problem in Windows itself.
The best way to solve these problems is to use the SFC and DISM packages, which are built into every Windows system:
- Press the "Windows" + "S" keys on your keyboard
- Tap on "CMD" in the search box
- When the list appears, right-click on the top list and select "Run as administrator"
- When the window loads, tap on the following:
- "SFC/skannow" + press "Enter"
- After that, press "DISM/Online/Cleanup-Image/RestoreHealth" and then press "Enter"
- Once you are done, restart your system
After rebooting, the system should start working again.
If you do the above and still encounter errors, it suggests a deeper error in Windows itself.
To resolve this issue, you will need to evaluate the opinion of someone with specific knowledge about your system. Of course, this cannot be done by a single article on the Internet.