"The program can't start because a DLL is missing from your computer": which fix to use
Windows could not find a DLL file the program needs, so the program refused to start. The file name in the message tells you the fix: most often it is a missing Microsoft Visual C++ Redistributable, which you install from Microsoft.
On this page
What it means
This message is a generic Windows dialog, not one single error. It reads "The program can't start because X.dll is missing from your computer. Try reinstalling the program to fix this problem." The X is the part that matters. It is the name of the file the program needed and could not find.
When a program starts, Windows looks for each DLL it depends on in the program's own folder, in the Windows system folders and in the folders listed in PATH. If the file is not in any of them, or it is the wrong type (32-bit instead of 64-bit, or the reverse), the program stops. Most of the time the missing file belongs to a Microsoft Visual C++ runtime that the program expects to find already installed.
Find the file name in your message, then use the matching fix below. If it is VCRUNTIME140.dll or MSVCP140.dll, these pages go into more detail: VCRUNTIME140 and MSVCP140, msvcp140.dll and the general missing DLL page.
Symptoms and causes
You are likely dealing with this problem if:
- A dialog names a DLL (for example VCRUNTIME140.dll or MSVCP140.dll) as missing or not found when you start a game or app.
- The program does not open at all.
- It shows up after a fresh Windows install, after installing a new game or app, or after a cleanup tool or antivirus took action.
The usual causes, most common first:
- The Visual C++ Redistributable is missing or damaged
- Many programs do not bring this runtime with them. Microsoft says an app built with its tools needs a redistributable at least as new as the build tools used.
- Wrong architecture installed
- A 32-bit program needs the x86 redistributable even on 64-bit Windows. The x64 package does not cover it.
- The program needs an older runtime
- The current v14 package (Visual Studio 2017 to 2026) does not provide the 2010, 2012 or 2013 files such as msvcr100, msvcr110 or msvcr120. Those are separate packages that sit side by side.
- Windows is missing the Universal C Runtime
- For api-ms-win-crt-*.dll names, Windows may lack the Universal C Runtime, for example an older or not fully updated Windows installation. The Globalscape knowledge base says to install the Universal C Runtime update for your operating system.
- The file was deleted or the program is incomplete
- An antivirus quarantine, a cleaner tool, a bad uninstall, or a ZIP that was only partly extracted can remove or never create the DLL.
- Damaged Windows system files
- If the missing DLL is one that Windows itself owns, corrupted system files can be the reason.
How to fix it
Work through these in order. They start with the quickest, safest checks and move to deeper repairs; stop as soon as the problem is gone.
1.Reinstall the program
The dialog itself suggests this, and it fixes incomplete installs and partly extracted ZIP files.
- Uninstall the program using Windows' list of installed apps. Back up any save files or settings you want to keep first.
- If the program came as a ZIP file, right-click it and choose Extract All, then run it from the extracted folder, not from inside the ZIP.
- Install the program again from its official source and start it.
2.Install the latest Visual C++ Redistributable (x86 and x64)
This single package covers VCRUNTIME140, VCRUNTIME140_1 and MSVCP140, the most common names in this error.
- Download the x64 installer from Microsoft's link:
https://aka.ms/vc14/vc_redist.x64.exe. On a 64-bit PC, also download the x86 one, because 32-bit programs need it:https://aka.ms/vc14/vc_redist.x86.exe. (ARM64 PCs usehttps://aka.ms/vc14/vc_redist.arm64.exe.) - Run each installer and accept the license. If it says the software is already installed, choose Repair.
- Restart the PC and start the program again.
3.Install the older redistributable that matches the DLL name
Names such as msvcr100, msvcp110 or msvcp120 belong to older packages that the v14 download does not replace.
- Match the file name to the package:
MSVCR100andmfc100need Visual C++ 2010 SP1;MSVCP110needs 2012 Update 4;MSVCP120andMSVCR120need 2013. - Download the x86 and x64 versions of that package from the table on Microsoft's Latest Supported Visual C++ Redistributable Downloads page. These versions are out of support but still available there.
- Install both, restart, and start the program.
4.For api-ms-win-crt names, install the Universal C Runtime update
These files belong to the Universal C Runtime, which Windows provides through its updates.
- Run Windows Update, install everything it offers, then restart.
- If the file is still reported missing, install the Universal C Runtime update for your version of Windows from Microsoft, as the Globalscape knowledge base advises.
5.Repair Windows system files
Microsoft documents System File Checker as a tool that scans protected system files and repairs them, so it applies when the missing DLL is one that Windows owns. Try the fixes above first.
Before you start: Close your work first. The scan takes a while and the PC should not be shut off while it runs.
- Open Command Prompt as administrator and run the System File Checker.
sfc /scannow - Wait for it to finish and restart if it reports repairs.
6.Check whether security software or a cleaner removed the file
A quarantined or deleted DLL looks exactly like a missing one.
Before you start: Only restore a file if it belongs to a program you trust and installed yourself.
- Open your antivirus program's quarantine or history list and look for the DLL name from the error. Restore it if it is from your program.
- Also look in the Recycle Bin for the file.
Check that it worked
- The program starts without the dialog.
- The same DLL name no longer appears, even after a restart.
If it still fails
- Write down the exact DLL name and check that you installed the matching runtime in both x86 and x64.
- Microsoft's redistributable page is written for developers and advises contacting the app's vendor for instructions on fixing an app through its runtime. Contact the vendor or game support and give them the DLL name and your Windows version.
- On Windows 7 or 8.1 the newest redistributable may not install, because Microsoft's page lists Windows 10 and 11 as supported. You may need an older build of the runtime.
Questions
Why do I need both x86 and x64?
Microsoft says the redistributable architecture must match the program. 32-bit programs run on 64-bit Windows but still need the x86 package, and the x64 package does not cover them.
I installed the new redistributable but msvcr120.dll is still missing. Why?
The v14 package covers Visual Studio 2017 to 2026 only. 2013 and earlier redistributables install side by side, so each needs its own package.
Sources
- Latest Supported Visual C++ Redistributable DownloadsOfficial · Microsoft Learn
- sfcOfficial · Microsoft Learn
- The program can't start because a DLL is missing from your computer · Globalscape KB