How To Fix 0xc000012f (Bad Image) Errors in Windows 10 (SFC File Checker + VC ++)
The 0xc000012f error is caused by Windows being unable to read files / libraries it requires to run.
If you're experiencing the error with Windows 10, it's generally caused by Visual C ++ – or can be the result of misplaced files, drivers or other problems.
The error will generally show as follows:
MSVCP120.dll is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support. Error status 0xc000012f
To nip the issue in the bud, the most common cause of the issue comes from a corrupted / damaged Visual C ++ installation .
Visual C ++ is a set of files / libraries that allow software applications to run with special functionality.
If you're seeing 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 various "Visual C ++ Redistributable" packages that are available online.
The most important thing you need to do is discern which version of VC ++ is causing the problem. This can be done by identifying the number within the file with the version of VC ++:
- VC ++ 2012 – Version 11.0
- VC ++ 2013 – Version 12.0
- VC ++ 2015 – Version 14.0
- VC ++ 2017 – Version 14.1
If you're seeing 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 raise an error such as what you're experiencing.
To fix this problem, you need to first ensure that you can resolve any core issues with VC ++ and then fix potential issues within Windows.
1. Reinstall VC ++
The first step is to reinstall the Visual C ++ Redistributable that's being cited as having an error.
The way to do this is actually simple:
- In Windows 7, click on "Start"> "Control Panel"> "Programs + Features"
- In Windows 10, right-click onto the "Start" button, select "Apps and Features"
- From the list that appears, scroll down to the "Microsoft Visual C ++ Redistributable" lists
- With the list above (VC ++ 2012 / Version 11.0) – you need to identify which version of VC ++ is causing the issue
- To do this, you take the MSVCPxxx.dll error and match the "xxx" to the version of VC ++ listed above.
- For example, MSVCP110.dll errors are caused by VC ++ 2012
- After identifying the version of VC ++ causing the issue, select it and press "Uninstall"
- If there are multiple listings (you may have the x64 + x86 versions), remove both
- Restart the system
After restarting, you'll then need to un-register any remnants of the VC ++ files that could be causing issues.
Windows uses "DLL" (Dynamic Link Library) files as "libraries".
This means that any time a piece of software is designed on the Windows platform, it can call certain third-party DLL files to achieve functionality that would have taken months to develop manually.
Visual C ++ redistributable packages are Microsoft's contribution to this ideal – providing developers with a number of core features which do not exist without the VC ++ packages.
The point is that any time a piece of software uses a piece of software that requires a DLL, it will call up a central "registry" database which lists the files that Windows has.
You're able to "register" and "un-register" DLL files from this database – which is likely going to be one of the core reasons for your error showing.
To do this, you need to follow these steps:
- Press "Windows" + "R" keys on your keyboard
- Type "CMD" and press "OK"
- Type "regsvr32 / u msvcpxxx.dll" (where the xxx is the number of the file you just removed from the VC ++ installation list)
- This will completely remove the file from Windows' central repository
After doing this, it will also be worth checking for it in C: / Windows / System32:
- Click on "File Explorer"
- Browse to C: / Windows / System32
- Search for the file cited in your system's error
- If it's there, select and press "Delete"
- This will send it to "Recycle Bin" (so we can just put it back if there are any issues)
After doing this, Restart your PC (again).
3. Re-Install VC ++ Redistributable
Next, you'll want to re-install the appropriate VC ++ redist package from Microsoft.
This will not only put the correct file back onto your system, but * should * fix any corrupt references to it.
To do this, you should follow these steps:
- Click onto your web browser of choice
- Search for "Visual C ++ Redistributable downloads Microsoft"
- You should click on a page with the title "The latest supported Visual C ++ redistributable downloads"
- Scroll down to the version which you installed previously
- Download whichever versions you had installed (if you had both x86 + x64 versions – download both)
- Once downloaded, browse to your downloads folder and install the x86 version first, followed by the x64 version
- After the installation completes, restart your system
The restart should give you the opportunity to then test the software throwing the error. If it does not show any more, it generally means the problem has been fixed.
If the error persists, it suggests a defect issue with Windows.
4. SFC / DISM
If you're still seeing the error, it means you probably have some sort of issue within Windows itself.
The best way to resolve these is to use the SFC & DISM packages, which are built into every Windows system:
- Press "Windows" + "S" keys on your keyboard
- Type "CMD" into the search box
- When the list appears, right-click onto the top listing and select "Run As Administrator"
- When the Window loads, type the following:
- "SFC / scannow" + press "Enter"
- After this, type "DISM / Online / Cleanup-Image / RestoreHealth" and then press "Enter"
- Once complete, restart your system
After the restart, the system should start working again.
If you do the above, and are still experiencing errors, it suggests a defect error inside Windows itself.
To resolve this, you've got to gauge the opinion of someone with specific knowledge of your system. Obviously, this can not be done through an Internet article alone.