Utilities · Published

How to fix "MSVCP140.dll is missing" on Windows

MSVCP140.dll is Microsoft's C++ standard library, the code behind containers, algorithms and input/output streams in programs written in C++ with Visual Studio. When Windows says it is missing, or that a function cannot be found in it, the program cannot start. The file comes with the Microsoft Visual C++ Redistributable, so the fix is Microsoft's package in the matching architecture, not a DLL from a download site.

MSVCP140 errors have one twist that VCRUNTIME140 errors usually do not: a version that is too old causes them as often as a missing file. A program built with recent tools may need MSVCP140_ATOMIC_WAIT.dll or a newer MSVCP140.dll than the one on your PC, or than an outdated copy sitting in its own folder. For the C runtime part of the same package, see how to fix VCRUNTIME140.dll was not found; for the code 0xc000007b, see how to fix error 0xc000007b.

What MSVCP140.dll and its _1, _2 and _atomic_wait files are

Microsoft's documentation lists msvcp[version].dll and its dot libraries as the C++ Standard Library for native code. The 140 stands for the v14 runtime shared by Visual Studio 2015 through 2026. To add features without breaking existing programs, Microsoft ships new parts of the library as separate satellite DLLs next to MSVCP140.dll. Microsoft's open-source STL repository names them:

  1. MSVCP140_1.dll, the memory_resource satellite, introduced in Visual Studio 2017 version 15.6.
  2. MSVCP140_2.dll, the special math functions satellite.
  3. MSVCP140_ATOMIC_WAIT.dll, the atomic wait satellite.
  4. MSVCP140_CODECVT_IDS.dll, another satellite of the same library.

All of them belong to the same v14 C++ standard library, so the fix is the same for every one: a current Visual C++ v14 Redistributable. A message about MSVCP120.dll is different: that file is version 12, from Visual Studio 2013, and needs the separate 2013 package listed on the same Microsoft page.

Read the exact error first

The wording tells you which fix applies. Microsoft's Windows status reference defines the three messages you are likely to see:

  1. "MSVCP140.dll was not found" or "is missing": the DLL is not installed for this program's architecture. Start with Method 1.
  2. "The procedure entry point … could not be located in the dynamic link library MSVCP140.dll": the file exists but is older than the program needs. Use Method 1 to update, then Method 3 to look for an old copy.
  3. "The application was unable to start correctly (0xc000007b)": a DLL of the wrong architecture was loaded. Follow the 0xc000007b guide.

Method 1: Update to the latest Visual C++ v14 Redistributable

Microsoft requires the installed redistributable to be the same as or newer than the build tools a program was made with. An older 2015, 2017 or 2019 runtime is the usual reason for missing satellite DLLs and entry point errors:

  1. Open Latest supported Visual C++ Redistributable downloads on learn.microsoft.com.
  2. Download and run X64 (vc_redist.x64.exe) for 64-bit programs.
  3. Download and run X86 (vc_redist.x86.exe) for 32-bit programs. Microsoft notes that the x86 package installs the 32-bit libraries on 64-bit Windows too, and many PCs need both.
  4. Restart the PC and start the program again.

The latest package upgrades the old Visual C++ 2015 runtime in place, and the newer runtime keeps working with programs built with older v14 tools. If the installer reports that setup failed, a newer version is already installed; repair it as described in Method 2.

Method 2: Repair the runtime and check quarantine

If the latest runtime is installed but the file is still reported missing, it may have been damaged or removed:

  1. Open Start, Settings, Apps, Installed apps and search for Visual C++.
  2. For Microsoft Visual C++ v14 Redistributable (x64) and (x86), select More (…), then Modify, and choose Repair. In Control Panel, Programs and Features, the option is under Change.
  3. Open Windows Security, Virus & threat protection, Protection history, and filter on Quarantined items. If msvcp140.dll or one of the program's files is listed and came from an official installer, restore it.

Method 3: Look for an outdated MSVCP140.dll in the program's folder

Some programs ship their own copy of the C++ library in their install folder, which Microsoft calls local deployment. Windows searches the program's folder before the system folder, so an outdated local copy wins over a current system one and can cause entry point errors even after Method 1:

  1. Right-click the program's shortcut, select Open file location and look for msvcp140.dll or msvcp140_*.dll next to the EXE.
  2. Check for an update to the program first. Microsoft points out that with local deployment the developer, not Windows Update, is responsible for updating those files.
  3. As a test, move the local copies to a folder on the desktop, keeping them, and start the program. Windows then loads the current system copy. If something else breaks, move them back.
  4. If the test works, report it to the developer so the next release ships current files.

For a program that starts but fails when it loads a plug-in, Process Explorer shows which msvcp140.dll each running process loaded and from which folder.

Method 4: Reinstall the program cleanly

Installers often run the Visual C++ Redistributable as a prerequisite, and a reinstall puts back files that are missing from the program folder:

  1. Uninstall the program, restart, and install the current version from the developer's site.
  2. For a Steam game, use Properties, Installed Files, Verify integrity of game files. Steam can install Visual C++ runtimes through Steamworks Common Redistributables if the game declares them.
  3. If the uninstaller is broken, Geek Uninstaller can force-remove the program first. More options are in how to uninstall programs that won't uninstall.

Why a downloaded MSVCP140.dll is the wrong fix

Copying MSVCP140.dll from a DLL site into System32 or the program folder often turns one error into another:

  1. MSVCP140.dll works together with its satellite DLLs and VCRUNTIME140.dll. Replacing one file leaves the rest at other versions, which can produce entry point errors.
  2. Sites rarely state the architecture. A 32-bit copy loaded by a 64-bit program, or the reverse, causes error 0xc000007b.
  3. Microsoft warns never to install a Visual C++ Redistributable that was not downloaded from a Microsoft site or not signed by Microsoft, and loose DLLs from unknown sites carry the same risk of malware.

If you already copied such a file, remove it from the program folder, repair the runtime with Method 2 and scan the PC. How to check if an EXE file is safe explains how to judge downloaded files.

Free tools for this job

AppBest forLicensePriceDownload
Microsoft Visual C++ Redistributable Installing a current MSVCP140.dll with all its satellite DLLs Freeware Free Review
Process Explorer Checking which copy of MSVCP140.dll a running program uses Freeware Free Review
Geek Uninstaller Clearing out a broken program before reinstalling it Freeware Free Review

1. Microsoft Visual C++ Redistributable — Runtime Library

Best for: Installing a current MSVCP140.dll with all its satellite DLLs

  • Freeware
  • Free
  • Utilities
Microsoft Visual C++ Redistributable on its official website
Microsoft Visual C++ Redistributable on its official website · Screenshot from the official website

The Microsoft Visual C++ Redistributable installs the whole v14 C++ standard library at once, so MSVCP140.dll and its satellite DLLs are installed together. Microsoft's permanent links fetch the newest build. MSVCP120.dll and older files need the separate legacy packages.

Pros

  • Official Microsoft package
  • Permanent link always gets the latest version
  • Fixes common missing-DLL errors

Cons

  • Does not include the legacy 2013 and older runtimes
  • Latest version supports only Windows 10, 11 and Server 2016 or later
  • 32-bit apps need the separate x86 package

2. Process Explorer — Task Manager

Best for: Checking which copy of MSVCP140.dll a running program uses

  • Freeware
  • Free
  • Utilities
Process Explorer on its official website
Process Explorer on its official website · Screenshot from the official website

Process Explorer's Find Handle or DLL searches every running process for a DLL name and shows the path it was loaded from, which reveals an outdated local copy. It only sees programs that are running, so it cannot inspect one that fails before its window opens. The current version requires Windows 11.

Pros

  • Finds which process locks a file
  • Detailed handle and DLL views
  • Official Microsoft tool, no ads

Cons

  • Current version requires Windows 11; Windows 10 is not listed as supported
  • Dense interface made for technical users
  • Closed source

3. Geek Uninstaller — Uninstaller

Best for: Clearing out a broken program before reinstalling it

  • Freeware
  • Free
  • Utilities

Geek Uninstaller removes programs together with leftover files and registry entries, and Force Removal handles programs whose own uninstaller no longer works. It is one portable EXE, free for personal use only and without support.

Pros

  • Single portable EXE, about 5 MB
  • Force Removal for broken programs
  • Removes Store apps

Cons

  • Personal use only and no support in the free version
  • No install monitoring; the site upsells the paid Uninstall Tool
  • Closed source

Frequently asked questions

Is it safe to download MSVCP140.dll from a DLL site?

No. The file's origin, version and architecture are unknown, it does not match the satellite DLLs on your PC, and it is not updated by Windows Update. Install Microsoft's Visual C++ Redistributable instead.

Which Visual C++ version do I need for MSVCP140.dll?

The latest supported Visual C++ v14 Redistributable, in x64 and x86. It covers programs built with Visual Studio 2015 through 2026.

What is MSVCP140_ATOMIC_WAIT.dll?

A satellite DLL of the same v14 C++ standard library that newer programs may use. If it is reported missing, the runtime for the program's architecture is absent or older than the program needs; install the latest v14 Redistributable in the program's architecture.

Why do I get "entry point not found" in MSVCP140.dll?

The MSVCP140.dll that Windows loaded is older than the program needs. Update the redistributable, then check the program's own folder for an outdated local copy.

What is the difference between MSVCP140.dll and VCRUNTIME140.dll?

Both come from the Visual C++ v14 Redistributable. VCRUNTIME140.dll holds compiler support code such as exception handling, while MSVCP140.dll is the C++ standard library.

I need MSVCP120.dll, not MSVCP140.dll. Is it the same fix?

No. MSVCP120.dll belongs to Visual Studio 2013. Install the Visual C++ 2013 Redistributable, linked under unsupported legacy versions on Microsoft's download page.

ExeDepot does not host installers. Every download button opens the developer's own server or official download page. Prices and licenses come from each developer's site and were checked on .