DLL missing and 0xc000007b: find the component, not a download
Diagnose missing DLL and 0xc000007b errors by bitness, runtime family and component store — and why downloading a DLL from a random site is the wrong fix.
- Build
- 26100.1742
- Edition
- Enterprise LTSC 2024
- Architecture
- x64
- Support
- Lab (DLL path)
- Evidence
- E2Reproduced in the lab
- Risk
- R1Reversible setting
- Verified
- 2026-10-28
- Test machine
- PVE 9.2.2 VM 361; Windows 11 Enterprise LTSC 2024 26100.1742; official VC++ 2015-2022 Redistributable x64 + x86
- Page type
- Troubleshoot
The short answer
Section titled “The short answer”A missing DLL is a dependency problem, not a file problem. Install the official runtime that owns the DLL, or repair the component store. Downloading a DLL from a “DLL fix” site is how people get malware and version conflicts.
Read the error first
Section titled “Read the error first”| Symptom | Likely owner | First move |
|---|---|---|
0xc000007b |
32-bit app loading a 64-bit DLL (or the reverse) | Check the app’s architecture and the DLL folder |
0xc0000135 |
.NET Framework or a missing managed dependency | Install the required .NET version |
vcruntime140.dll / msvcp140.dll |
Visual C++ 2015–2022 Redistributable | Install the official x64 and x86 redist |
d3dx9_43.dll |
DirectX 9 legacy runtime (often old games) | Install the DirectX End-User Runtime |
api-ms-win-crt-*.dll |
Universal C Runtime (Windows 10/11 component) | sfc / DISM, then Windows Update |
xinput1_3.dll |
DirectX/XInput legacy | DirectX End-User Runtime |
Procedure
Section titled “Procedure”# App bitness (PE header)$p = 'C:\Path\To\Game.exe'[System.Reflection.AssemblyName]::GetAssemblyName($p) # managed only# For native binaries, use Task Manager → Details → Platform, or sigcheck -nobanner -aA 32-bit game cannot load System32’s 64-bit DLLs; it loads from SysWOW64. Mixing them produces 0xc000007b.
Expected: The app and the DLL match x64/x64 or x86/x86.
Run an elevated terminal:
DISM /Online /Cleanup-Image /RestoreHealthsfc /scannowRun DISM first when SFC reports it cannot repair files. Reboot and retry the app.
Expected: Both commands finish without “cannot repair” errors.
- Visual C++ 2015–2022: install both
x64andx86from Microsoft. - DirectX 9 legacy: DirectX End-User Runtime.
- .NET: install the exact major version the app targets (Framework 3.5/4.8, or .NET 6/8 desktop runtime).
Expected: The app launches without the missing-DLL dialog.
Event Viewer → Windows Logs → Application. Look for SideBySide (assembly version conflict) or Application Error (faulting module). A version conflict is not fixed by copying a newer DLL.
Expected: A side-by-side or module-load error names the failing module.
Lab check: missing VC++ runtime (E2)
Section titled “Lab check: missing VC++ runtime (E2)”On a fresh LTSC 26100.1742:
C:\Windows\System32\vcruntime140.dllandmsvcp140.dll: missing.C:\Windows\SysWOW64\vcruntime140.dllandmsvcp140.dll: missing.- Only the CLR variants
vcruntime140_clr0400.dllandvcruntime140_1_clr0400.dllwere present. Those are not the VC++ 2015–2022 redistributable.
Installed the official Visual C++ 2015–2022 Redistributable (vc_redist.x64.exe and vc_redist.x86.exe from aka.ms/vs/17/release), both exit code 0. After install:
| Path | Version | Size |
|---|---|---|
System32\vcruntime140.dll |
14.44.35211.0 | 124,544 |
System32\msvcp140.dll |
14.44.35211.0 | 557,728 |
SysWOW64\vcruntime140.dll |
14.44.35211.0 | 91,216 |
SysWOW64\msvcp140.dll |
14.44.35211.0 | 447,616 |
DISM /Online /Cleanup-Image /CheckHealth: No component store corruption detected.
SFC /verifyonly completed and reported “Windows Resource Protection found integrity violations”; details are in C:\Windows\Logs\CBS\CBS.log, and this run did not repair them. Do not treat an SFC violation as proof of malware, and do not expect SFC to restore a missing VC++ redistributable.
This verifies the missing runtime path and the official repair. It does not reproduce the 0xc000007b dialog, a cracked DLL, or a bitness mismatch; those remain unverified.
What actually causes 0xc000007b
Section titled “What actually causes 0xc000007b”- Bitness mismatch — the most common cause.
- A cracked or replaced DLL — the loader rejects it or the app crashes later.
- Corrupt component store —
DISM/SFCare the repair path. - Missing Visual C++ runtime — install the redist, not a single DLL.
- A game overlay or anti-cheat injecting a wrong-architecture module — disable overlays and retest.
What not to do
Section titled “What not to do”- Do not copy DLLs between
System32andSysWOW64. - Do not “register” a DLL with
regsvr32unless the vendor says it is a COM component. - Do not disable Defender to make a loader work.
- Do not follow a video that ships a “DLL pack”; the pack is the attack surface.