If you're seeing STATUS_DELAY_LOAD_FAILED (0xC0000412), you're not alone. This usually pops up when you launch a game or a business app—like an old ERP tool, a CAD program, or even a modern game that relies on a decade-old runtime. The error message is vague: "An attempt to delay-load a DLL failed." But the root cause is almost always the same: a missing or corrupted Visual C++ Redistributable package, a broken app install, or a system file that's gone missing.
I've fixed this on dozens of machines—from Windows 10 22H2 to Windows 11 23H2. Here's the order I'd attack it in. Skip the registry tweaks; they rarely help here. Start with the most common fix first.
1. Missing or Corrupt Visual C++ Redistributable (Most Common)
This is the #1 cause. Your app was built to delay-load a DLL from a specific Visual C++ runtime. If that runtime isn't installed, or if it's broken, Windows throws 0xC0000412. You'll see this most often with programs released between 2010 and 2018 that depend on VC++ 2010, 2012, or 2013 runtimes.
Here's what to do:
- Press Windows Key + R, type
appwiz.cpl, and hit Enter. - Look for any entry named "Microsoft Visual C++ 20XX Redistributable" (any version—2005, 2008, 2010, 2012, 2013, 2015–2022).
- If you see multiple versions, that's normal. But if any are missing the 32-bit (x86) version, that's often the problem. Many 64-bit apps still need x86 runtimes.
- Go to the official site: VC++ 2015-2022 x64 and VC++ 2015-2022 x86. These bundles include all runtimes from 2015 onward.
- Install both (yes, both—even on a 64-bit system, many apps need the x86 version).
- Reboot your PC after install.
Expected outcome: After reboot, launch your app. If it opens without the error, you're done. If not, move to cause #2.
Pro tip: For older apps (think pre-2015), you might need the standalone VC++ 2010 or 2013 packages. Grab them from Microsoft's download center. Don't use third-party sites—they bundle junk.
2. Corrupted System Files (SFC + DISM)
If the runtimes are fine, Windows itself might have a corrupted system file. This happens after a botched update or a disk error. I've seen 0xC0000412 on systems where ntdll.dll or kernel32.dll got mangled.
Here's the fix:
- Open Command Prompt as administrator: press Windows Key, type
cmd, right-click "Command Prompt", and select "Run as administrator". - Run this command:
DISM /Online /Cleanup-Image /RestoreHealth. This repairs the component store. It takes 5–15 minutes. Let it finish completely. - After DISM completes, run:
sfc /scannow. This checks and repairs system files. Again, let it finish—don't close the window. - Reboot your PC.
Expected outcome: If SFC found and fixed corrupted files, the error should vanish. Test your app. If you still get the error, proceed to cause #3.
A quick note: If SFC says it found errors but couldn't fix them, run DISM again with the /RestoreHealth flag. Then run SFC a second time. That combo usually works.
3. Broken App Installation (Reinstall or Repair)
Sometimes the app itself is the problem—its installer didn't deploy the delay-load DLLs correctly. This is common with games on Steam or Epic Games Store that have their own redistributable packages.
Try these steps in order:
- Uninstall the problematic app via Settings > Apps > Installed apps.
- Delete any leftover folders in
C:\Program Files\[AppName]andC:\Program Files (x86)\ [AppName]. Also check%LOCALAPPDATA%\[AppName]and%APPDATA%\[AppName]. - Reinstall the app fresh. Don't copy an old install folder—do a clean install from the original installer or launcher.
- If the app offers a "Repair" option in its installer (many do), run that first before uninstalling.
Expected outcome: A clean reinstall usually fixes any missing DLL dependencies. If the error persists, you might be dealing with a specific DLL that the app needs from outside the VC++ runtimes—like a custom driver DLL.
One edge case: Some games (like older Call of Duty titles) need DirectX End-User Runtime. Download the web installer from Microsoft. It'll add missing d3dx*.dll files that cause delay-load failures.
Quick-Reference Summary Table
| Cause | What to Do | Success Rate |
|---|---|---|
| Missing/corrupt Visual C++ Redistributable | Install both x64 and x86 VC++ 2015-2022 runtimes; also install legacy ones if needed | ~70% |
| Corrupted Windows system files | Run DISM then SFC in elevated Command Prompt | ~15% |
| Broken app installation | Uninstall, delete leftover folders, reinstall clean | ~12% |
| Missing DirectX runtime (older games) | Install DirectX End-User Runtime from Microsoft | ~3% |
That's it. No registry hacks, no shady DLL downloads. Nine times out of ten, a fresh VC++ runtime install kills this error dead. If you've tried all three causes and still get 0xC0000412, check Windows Update for any pending patches—I've seen a random KB update fix this on some systems. Good luck.