Home / Guides / Program and file errors

api-ms-win-crt-runtime-l1-1-0.dll is missing - fix the whole family at once

Every file that starts with api-ms-win-crt - runtime-l1-1-0, string-l1-1-0, heap-l1-1-0, math-l1-1-0 and some forty siblings - belongs to one thing: the Universal C Runtime that modern programs share. When any of them is reported missing, the runtime as a whole is absent or damaged. Fix the runtime once and the entire family comes back together.

Fix it automatically

Outbyte Driver Updater identifies your installed hardware automatically and updates outdated or broken drivers from official sources, with a backup before every change. Useful when you would rather not run the steps below by hand - the scan and diagnosis are free.

Download Driver Updater Downloads Outbyte Driver Updater for Windows 11, 10, 8 and 7. Free 2-day trial, no credit card required.

Quick answer

Run Windows Update until nothing is left (on Windows 7/8.1 the Universal C Runtime arrives as an update - KB2999226), then install both vc_redist.x64.exe and vc_redist.x86.exe from Microsoft's Visual C++ Redistributable page, and restart. Do not download the single DLL the message names - it is one of a set and a lone copy only moves the error to the next file.

Symptoms - how this problem looks

"The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing"
The same message names the string-l1-1-0, heap-l1-1-0 or math-l1-1-0 variant
It appears the first time a freshly installed program starts
The PC runs Windows 7 or 8.1 that has not updated in a long time
Fixing one named file just produces the same error with a different name
Several unrelated modern programs fail with the same kind of message

Why it happens

The Universal C Runtime was never installed

Windows 10 and 11 ship with it, but Windows 7 and 8.1 received it through an update. A PC that skipped updates has no UCRT until something installs it.

The runtime got damaged

A failed update, disk error or aggressive cleanup corrupted the shared runtime files - so a program that ran yesterday fails today.

One name, forty files

The api-ms-win-crt files are a set of small forwarders into the real runtime. The message names whichever one a program touched first - the actual problem is always the set, not the single file.

The program's installer skipped its runtime step

Most installers add the Visual C++ Redistributable they need; when that step is skipped or fails silently, the program starts without its runtime.

The fixes, in order

1. Run Windows Update

  1. Open Settings, then Windows Update (on Windows 7/8.1: Control Panel, then Windows Update), and press Check for updates.
  2. Install everything offered, restart, and repeat until the list is empty. On Windows 7/8.1 this is how the Universal C Runtime (update KB2999226) arrives.

2. Install the Visual C++ Redistributable

  1. Search the web for "Visual C++ Redistributable latest supported downloads" and open the result on learn.microsoft.com - Microsoft's official page.
  2. Download both installers: vc_redist.x64.exe and vc_redist.x86.exe.
  3. Run both (choose Repair if one says it is already installed). The redistributable brings the Universal C Runtime with it.
  4. Restart the PC and launch the failing program.

3. Repair the runtime that is already there

  1. Open Settings, then Apps, then Installed apps.
  2. Find "Microsoft Visual C++ 2015-2022 Redistributable" - usually an x64 and an x86 entry.
  3. Select each, press Modify, then Repair. Restart and test.

4. Repair Windows' own files

  1. Right-click Start, open Terminal (Admin), and run sfc /scannow.
  2. If problems persist, run DISM /Online /Cleanup-Image /RestoreHealth, then SFC again, then restart.

Do not do this: Never download api-ms-win-crt-runtime-l1-1-0.dll - or any file from this family - as a single DLL from a download site. These files only work as a complete set; a lone copy moves the error to the next name, and such sites are a well-known malware channel. The official installers are free and restore all of them correctly.

Frequently asked questions

The error names api-ms-win-crt-string, not runtime. Is the fix different?

No. All api-ms-win-crt files - runtime, string, heap, math, conv, locale and the rest - belong to the same Universal C Runtime and arrive together. Whatever variant the message names, the fix is the same: Windows Update plus the Visual C++ Redistributable.

Why did this appear right after I installed a new program?

The new program was built against the Universal C Runtime and your Windows - usually 7 or 8.1 - does not have it yet. Older Windows received the UCRT through an update, not with the system, so a PC that never updated shows the error the first time such a program starts.

Can I just copy the one DLL the message names?

No. These files work as a set of forwarders into the real runtime - copying one only moves the error to the next name in the family, and files from DLL download sites are unverified and a known malware channel. Install the runtime properly and all forty-plus files arrive together. Related reading: the VCRUNTIME140.dll guide covers the other half of the same runtime.