It’s stressful when your favorite game refuses to launch or a critical piece of software crashes with a cold, hard error message. You’re likely staring at a dialog box that says, "The code execution cannot proceed because msvcp120.dll was not found." It’s a nightmare, especially when you just want to get your work done or start playing.
But before you panic and start downloading random files from sketchy "DLL downloader" sites, let’s stop the bleeding. In my 15 years of supporting users, I’ve seen thousands of cases where users made their problems worse by trying to fix this manually. The truth is, learning how to fix msvcp120.dll error rarely involves hunting for a single file. It’s almost always a missing Microsoft Visual C++ Redistributable package. This guide will walk you through a safe, non-destructive solution that gets you back to your software without compromising your system’s security.
Understanding the Root Cause: Why msvcp120.dll is Missing
To fix the issue, you first need to understand what is actually broken. You’re not missing a file that was deleted by a virus; you’re missing a dependency.
What is msvcp120.dll? The Technical Breakdown
Think of msvcp120.dll as the engine oil for C++ applications. It is a Core C++ runtime library specifically associated with Visual Studio 2013. When developers write code in C++, they don’t write every single function from scratch; they rely on a standard library provided by Microsoft. This library handles memory management, string operations, and error handling.
There are two distinct versions of this library you need to know about:
- Release Version (
msvcp120.dll): This is the optimized version used in production software, games, and commercial apps. - Debug Version (
msvcp120d.dll): This is used by developers during testing and contains extra logging features.
It is crucial to understand that this file is not a standalone application. It is a dynamic link library (DLL) that other programs "call" to perform complex tasks. If the library isn’t installed on your system, the calling application simply cannot start.
Common Triggers: Games, Software, and System Updates
So, why is the msvcp120.dll missing from your computer? It usually happens for one of three reasons.
First, architecture mismatches are the most common culprit. You might be running a 64-bit version of Windows, which is standard today. However, many legacy games and older software components are still 32-bit (x86). A 32-bit app cannot run using 64-bit runtime libraries. It specifically needs the x86 version of the runtime, even on a x64 system.
Second, Windows updates or clean installs often strip out older runtime dependencies. A fresh install of Windows 10 or 11 does not come with every version of the Visual C++ Redistributable pre-installed. You only get the latest ones. If you install a game developed in 2015 or older Adobe software, it may explicitly require the 2013 version.
I’ve seen this happen frequently with Steam games. Titles like GTA 5 or The Witcher 3 (older patches) often bundle their required runtimes, but if you installed the game from a pirated source or a clean ISO, that bundle is missing. Similarly, professional tools like Photoshop or Premiere Pro have evolved, and older versions rely heavily on the 2013 runtime stack.
The Safe Fix: Installing Microsoft Visual C++ Redistributable
Now that we know what it is, here is the Microsoft Visual C++ Redistributable install process. This is the only method I recommend for 99% of users. It’s safe, official, and resolves the dependency chain.
Step 1: Determine Your System Architecture (x86 vs. x64)
Before you download anything, we need to know what your PC runs.
- Right-click the Start button and select Settings.
- Go to System > About.
- Look for System type.
- If it says 64-bit operating system, x64-based processor: You need BOTH the x86 and x64 installers.
- If it says 32-bit operating system: You need ONLY the x86 installer.
Why both? Even if you have a 64-bit Windows, it can still run 32-bit applications. These applications use a subsystem called WOW64 (Windows 32-bit on 64-bit). To run a 32-bit game on a 64-bit PC, you must have the x86 version of the Visual C++ Redistributable installed. Skipping this is the #1 reason the "fix" doesn't work.
Step 2: Downloading from Official Microsoft Sources
Do not, I cannot stress this enough, do not download the DLL file itself from third-party sites. You need the installer.
Microsoft hosts the official packages for the Visual C++ 2012/2013 Redistributable. The specific file you are looking for is often found in the "Update for Visual C++ 2013 and Visual C++ Redistributable Package" or under the general "Visual C++ Redistributable" support page.
- Navigate to the official Microsoft Support page for Visual C++ 2013 Redistributable.
- Download
vcredist_x64.exe(if on 64-bit) andvcredist_x86.exe(if on 64-bit or 32-bit). - Security Check: Ensure you are downloading from a
microsoft.comorwindows.netdomain. If the link looks different, stop.
Once downloaded, right-click the file and select Run as administrator. This is critical, as the installer needs to write to protected system directories like the System32 directory.
Step 3: Verification and Restart
After the installation completes, don’t just close the window and hope for the best. We need to verify the file is actually there.
- Open File Explorer.
- Navigate to
C:\Windows\System32. Look formsvcp120.dll. - Navigate to
C:\Windows\SysWOW64. Look formsvcp120.dllagain (this is for your 32-bit apps).
If the files are present, reboot your computer. This ensures all registry entries related to the new runtime are finalized and cached properly. Finally, launch the application or game that was giving you the error. It should start up without issue.
Scenario-Specific Solutions: Gaming and Development
If the standard install didn’t work, or if you are dealing with a specific niche, you might need to adjust your approach. This section addresses the msvcp120.dll error when opening game scenarios and developer environments.
For Gamers: Fixing 'Not Found' in Steam and Epic Titles
I recently helped a user who was trying to launch a legacy Unreal Engine 3 game from Steam. The error was persistent despite having the latest Visual C++ 2015-2022 runtimes installed. The issue? The game was strictly linked to the 2013 runtime.
In most cases, installing the 2013 Redistributable (as described above) fixes this immediately. However, there is a "last resort" method for specific games that bundle their own dependencies but fail to load them.
- The "Redist" Folder Method: Some games include a folder in their installation directory named
Redist,_Redist, orVCRedist. Inside, you might find the installer or the DLL itself.- Caution: Manually copying a DLL to the game's root folder is generally discouraged by system administrators. It can break other apps that expect the global system version. Only do this if the global install fails, and ensure you are copying the version that matches the game's architecture (32-bit game = 32-bit DLL).
If you are playing on a 64-bit system but the game is 32-bit (which most older Steam games are), you must have the x86 Redistributable installed. Many users skip this because their BIOS says "64-bit," but that’s irrelevant to the specific app's architecture.
For Developers: Debug vs. Release Environments
If you are a programmer, you might be seeing msvcp120d.dll missing instead. The "d" stands for Debug.
- Release (
msvcp120.dll): Used for final, optimized code. This is what end-users need. - Debug (
msvcp120d.dll): Used by Visual Studio to track errors. This version is not distributed to end-users and is not included in standard Redistributable downloads.
If you are developing C++ applications, you need to install the Visual Studio 2013 workload or specifically the "Microsoft Visual C++ 2013 Redistributable (x86/x64)" debug component if you are debugging a specific binary. However, be very careful. Never ship a Debug DLL in a production environment. It is slower, not optimized, and can leak sensitive information to logs. If you are seeing errors in your local dev environment, ensure your project settings are not mixed up.
Advanced Troubleshooting: When the Standard Fix Fails
Sometimes, the file is installed, but Windows has lost track of it. This is where we look at repairing the system without reinstalling Windows.
Running System File Checker (SFC) and DISM
If the registry entries for the C++ runtime are corrupted, the installer might think it's already installed and skip the actual file copy.
-
Open Command Prompt as Administrator.
-
Run the following commands in order:
sfc /scannowWait for this to complete. It scans the protected system files.
-
If SFC fails or finds errors it can’t fix, run:
DISM /Online /Cleanup-Image /RestoreHealthThis uses the Windows component store to repair the system image. After DISM completes, run
sfc /scannowagain.
This process repairs the underlying Windows component store. It’s a heavy hammer, but it’s effective when the registry has "ghost" entries for the Visual C++ Redistributable.
Uninstalling and Reinstalling Corrupted Visual C++ Versions
In my experience, "ghost" installations are a common trap. You might see "Microsoft Visual C++ 2013 Redistributable" in your Control Panel > Programs and Features, but the files are missing.
- Go to Control Panel > Programs and Features.
- Look for any entry with "Visual C++ 2013" or "Visual C++ 2012" in the name.
- Uninstall them.
- Crucial Step: Restart your computer in Safe Mode. This prevents the Windows Installer service from hanging if it’s in a broken state.
- Download the official
vcredistfiles again and install them fresh.
If the installer hangs during the normal boot process, Safe Mode bypasses the problematic services. This has saved more users from a full system reformat than I care to admit.
Security Warning: Why You Should Avoid Third-Party DLL Downloads
I know you’ve seen websites promising to "Fix DLL Errors in 1 Click." They look tempting. But here is the safe download source for vcredist_x64.exe reality check.
The Risks of 'DLL Downloader' Websites
Third-party DLL sites are a minefield.
- Malware Bundling: A download that claims to be
msvcp120.dllis often wrapped in an installer that drops adware, crypto-miners, or worse. - Version Mismatch: You might download a 64-bit DLL and try to put it in a 32-bit application. This won't just fail; it can cause other stable applications to crash because the dependency chain is now broken.
- Outdated Code: These sites often host versions that are years old, missing critical security patches that Microsoft has already released for the runtime.
The risk-to-reward ratio is terrible. The Microsoft Redistributable is free, official, and only a few megabytes. There is zero benefit to taking the risk of a rogue download.
Verifying the Integrity of Your Official Installer
How do you know your Microsoft download is safe?
- Digital Signature: Right-click
vcredist_x64.exe> Properties > Digital Signatures. You should see "Microsoft Corporation" listed. - Version Number: Check the file properties. The version should be 12.0.40664.0 (or higher if Microsoft has updated it since 2013, but 40664 is the standard baseline for the 2013 package).
- HTTPS: Ensure your browser shows a padlock icon and the URL starts with
https://download.microsoft.com.
If you can’t verify these, delete the file and go back to the official Microsoft Support page.
Frequently Asked Questions
Is it safe to download msvcp120.dll from a third-party site?
No. It is strongly advised against. Third-party DLL files are often outdated, corrupted, or bundled with adware and malware. The safe and correct solution is to install the official Microsoft Visual C++ Redistributable package from the Microsoft Support site. This ensures the file is the correct version and properly registered in your system.
What is the difference between msvcp120.dll and msvcr120.dll?
They are two halves of the same package. msvcr120.dll is the C runtime library, while msvcp120.dll is the C++ standard library. Both are required for Visual Studio 2013 applications to run. They are installed together by the Visual C++ 2013 Redistributable. If one is missing, the other usually is too, so installing the full package fixes both.
Why does my 64-bit Windows still show this error for a 32-bit game?
Because 32-bit applications cannot use 64-bit runtime libraries. Even on a 64-bit operating system, 32-bit games require the x86 version of the Visual C++ Redistributable. If you only installed the x64 version, you need to install the x86 version as well. This is a very common oversight.
Can I fix this error without an internet connection?
Yes, but you need a pre-prepared USB drive. On another computer with internet access, download the official vcredist_x86.exe and vcredist_x64.exe files from Microsoft. Transfer these files to your affected PC via USB. Run them as an administrator. This method is fully safe and does not require the affected machine to be connected to the internet.
Conclusion
Fixing the msvcp120.dll error doesn’t require complex technical juggling or risky downloads. In the vast majority of cases, the solution is straightforward: identify your system architecture and install the official Microsoft Visual C++ 2013 Redistributable for both x86 and x64 if you are on a 64-bit system.
Remember, this error is a dependency issue, not a sign of a system virus or hardware failure. It simply means the "engine oil" for your C++ application is missing. By using the official Microsoft installer, you ensure integrity and security.
As a final tip, keep your system current. Microsoft has since consolidated the 2015, 2017, 2019, and 2022 runtimes into a single "Visual C++ 2015-2022 Redistributable" package. Installing this newer version often provides forward compatibility and reduces the chance of similar errors with newer software.
Ready to resolve this? You can Download the official Visual C++ Redistributable from Microsoft here. Or, if you’re dealing with a similar but different runtime error, check out our guide on How to Fix msvcr120.dll Errors for related runtime issues.