Quick answer
Reinstall the Microsoft Visual C++ Redistributables (both x86 and x64) from the official site, then repair .NET Framework using the Windows installer. That covers 90% of cases.
Why this happens
When you see STATUS_DLL_NOT_FOUND (0XC0000135) with the message "This application has failed to start because %hs was not found", Windows is telling you the app can't load a required DLL at startup. The %hs placeholder gets replaced with the actual DLL name—usually something like MSVCP140.dll, VCRUNTIME140.dll, or concrt140.dll. These are part of the Visual C++ Redistributable packages. Sometimes it's a .NET Framework DLL like clr.dll or mscoree.dll.
What's actually happening here is that the application was compiled against a specific version of the C++ runtime or .NET Framework, and one of those components got uninstalled, corrupted, or never installed in the first place. This is especially common after Windows updates that replace system files, or when you install an older game or business app on a new Windows 11 machine that shipped without the legacy runtimes.
Don't bother searching for the exact DLL name online to download it manually—that's a fast track to malware. The real fix is to restore the entire runtime package.
Step-by-step fix
- Check what DLL is missing – Look at the error dialog. If it shows a specific file name, note it. That tells you which runtime you need. For example,
MSVCP140.dllpoints to Visual C++ 2015-2022 Redistributable.clr.dllmeans .NET Framework. - Reinstall Visual C++ Redistributables – Go to Microsoft's official download page and grab both the x64 and x86 versions. Run each installer and select Repair if you already have them, or install fresh. Reboot after.
- Repair .NET Framework – Open
Control Panel > Programs > Programs and Features. Find .NET Framework entries (usually 4.8 or 3.5). Right-click each and choose Change > Repair. If you don't see it, download the .NET Framework Repair Tool from Microsoft. - Reinstall the application – Uninstall the app that's failing, reboot, then install it again. This forces the app's installer to re-register its dependencies. If the installer itself fails with the same error, you've got a deeper system issue—skip to alternative fixes.
- Run SFC and DISM – Open Command Prompt as admin and run
sfc /scannow, thenDISM /Online /Cleanup-Image /RestoreHealth. This fixes corrupted system files that might be blocking DLL loading.
Alternative fixes if the main one fails
- Check the Event Viewer – Press
Win + X, select Event Viewer, go to Windows Logs > Application. Look for an Error event at the time the app crashed. The Details tab often shows the exact DLL path that failed to load. This helps if the error message is vague. - Use Dependency Walker – Run Dependency Walker (legacy, but works) or Dependencies (modern alternative) on the app's EXE. It scans all required DLLs and tells you which ones are missing. Only do this if you're comfortable reading technical output.
- Install the DirectX End-User Runtime – Some older games pull DLLs from DirectX (like
d3dx9_43.dll). Download the DirectX End-User Runtime Web Installer. It won't hurt modern systems and fixes game-specific crashes. - System Restore – If the error started after a recent Windows update, run
rstrui.exeand roll back to a restore point before the update. This reverts runtime files to a working state.
Prevention tip
Don't manually delete or move DLLs in C:\Windows\System32 or SysWOW64. Only ever remove runtimes via their official uninstallers. Also, when setting up a new Windows machine, install all Visual C++ Redistributable versions from 2005 onward—there's a handy all-in-one pack on TechPowerUp. Do this before you install any games or legacy apps. Saves you this headache later.