Skip to content

DLL missing and 0xc000007b: find the component, not a download

Verified 2 min read

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.

Tested onEnterprise LTSC 2024 · Build 26100.1742 · x64
E2
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

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.

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
Terminal (admin)
Terminal window
# 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 -a

A 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.

Terminal (admin)

Run an elevated terminal:

Terminal window
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Run DISM first when SFC reports it cannot repair files. Reboot and retry the app.

Expected: Both commands finish without “cannot repair” errors.

Terminal (admin)
  • Visual C++ 2015–2022: install both x64 and x86 from 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.

Settings

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.

On a fresh LTSC 26100.1742:

  • C:\Windows\System32\vcruntime140.dll and msvcp140.dll: missing.
  • C:\Windows\SysWOW64\vcruntime140.dll and msvcp140.dll: missing.
  • Only the CLR variants vcruntime140_clr0400.dll and vcruntime140_1_clr0400.dll were 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.

  1. Bitness mismatch — the most common cause.
  2. A cracked or replaced DLL — the loader rejects it or the app crashes later.
  3. Corrupt component store — DISM/SFC are the repair path.
  4. Missing Visual C++ runtime — install the redist, not a single DLL.
  5. A game overlay or anti-cheat injecting a wrong-architecture module — disable overlays and retest.
  • Do not copy DLLs between System32 and SysWOW64.
  • Do not “register” a DLL with regsvr32 unless 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.

Sources