A program says a DLL is missing
The answer is almost never to find that file. Each of these belongs to a runtime package, and installing the package puts the DLL where it belongs, registered properly. Below is which package contains what, with the publisher's own download and its SHA-256.
Why this page exists. Search any of these file names and the results are dominated by sites offering the individual DLL. That is one of the oldest malware delivery methods on the web, and a system library from an unknown source is indistinguishable from a modified one.
Is it safe to download DLL files?Do DLL repair tools work?Entry point not foundWhich Visual C++ do I need?DirectX errorsRunDLL error at startup
Microsoft Visual C++ 2015-2022 Redistributable
- vcruntime140.dllGames, media software and anything compiled with a modern Visual Studio. One of the most common startup errors on Windows.
- msvcp140.dllThe same programs that report vcruntime140.dll. Often both are missing together.
- concrt140.dllApplications that do heavy multi-threaded processing, typically media encoders and games.
- mfc140u.dllOlder-style desktop applications with classic Windows dialogs and toolbars.
- api-ms-win-crt-runtime-l1-1-0.dllInstalling modern software on a Windows install that is behind on updates.
- mfc140.dllDesktop applications with classic Windows dialogs, toolbars and property sheets.
- vcruntime140_1.dllPrograms built with Visual Studio 2019 or later, on machines where only an older Visual C++ redistributable is installed.
- msvcp140_1.dllRecently built applications on machines with an outdated Visual C++ runtime.
- vcomp140.dllPhoto and video editors, scientific software and anything doing heavy parallel computation.
Microsoft Visual C++ 2013 Redistributable
DirectX End-User Runtime
- d3dx9_43.dllGames from roughly 2005 to 2015. Easily the most common DirectX error there is.
- d3dx9_39.dllGames from the late 2000s.
- xinput1_3.dllGames with gamepad support released before roughly 2014.
- x3daudio1_7.dllGames with 3D positional sound from the DirectX 9 and 10 era.
- d3dcompiler_47.dllGames, and browsers or Electron applications that use hardware acceleration.
- d3dx9_42.dllGames from the late 2000s and early 2010s.
- xapofx1_5.dllGames from the DirectX 9 and 10 era with positional or processed audio.
- d3dx11_43.dllGames from roughly 2010 to 2015 built against the D3DX helper libraries.
- d3dx10_43.dllGames from the late 2000s and early 2010s.
NVIDIA PhysX System Software
Microsoft Visual C++ 2012 Redistributable
Supplied with the game by Steam
Windows itself, not a download
- d3d9.dllOlder games, and very often after installing a graphics mod or reshade wrapper that placed its own d3d9.dll next to the game and then broke.
- kernel32.dllStartup failures, "entry point not found" errors, and old software written for a much older Windows version.
- ntdll.dllApplication crashes reported as "faulting module ntdll.dll", which is one of the least specific error messages Windows produces.
- dsound.dllOld games, and very commonly after installing an audio wrapper or mod that dropped its own dsound.dll into the game folder.
- xinput1_4.dllGames with gamepad support, usually on a Windows installation with damaged system files.
- wow64cpu.dll32-bit applications failing to start on 64-bit Windows, usually after system file corruption or a failed update.
- hal.dllA boot failure reporting that hal.dll is missing or corrupt, which stops the machine before Windows starts.
- rpcrt4.dllApplication crashes naming rpcrt4.dll, and errors on machines with damaged system files.
- api-ms-win-core-winrt-l1-1-0.dllApplications using modern Windows Runtime features on installations with damaged or outdated system files.
- gdiplus.dllOlder applications failing at startup, usually on a system with damaged files or after an aggressive cleanup tool removed it.
- dxgi.dllGames, very often after installing ReShade, an FPS overlay or a graphics mod.
- resampledmo.dllAudio software and voice applications, particularly on Windows N editions or after a media component was removed.
- msvcrt.dllVery old software, and machines where a "DLL fixer" or a cracked program overwrote the real file with its own copy.
- shell32.dllIcon corruption, broken Open and Save dialogs, and old programs written against a much older Windows.
- winmm.dllOld games and audio software. Very frequently on games that have been modded, because several mod loaders install themselves as a fake winmm.dll next to the executable.
- xinput9_1_0.dllGames with Xbox controller support, particularly older or emulated titles.
- d3d11.dllGames failing to start, and very often after installing a graphics mod, ReShade or an FPS overlay.
- kernelbase.dllEvent Viewer and crash dialogs, listed as the "faulting module" when some other program stops working. It shows up far more often as a symptom than as a genuinely missing file.
- comctl32.dllOld applications, and programs whose manifest was lost or edited. Also in build errors when a project cannot find the version 6 headers.
- user32.dllStartup errors of the form "The code execution cannot proceed because user32.dll was not found", and in crash reports naming it as the faulting module.
- oleaut32.dllOld VB6 and COM applications, installers for line-of-business software, and errors mentioning regsvr32 or "class not registered" alongside the file name.
Microsoft Visual C++ 2010 Redistributable
Media Feature Pack for Windows N editions
Your graphics driver
Bundled with the installer that failed
Supplied with the game by its publisher
Gaming Services from the Microsoft Store
Supplied with Google Chrome
Supplied with the RPG Maker game
Microsoft Office click-to-run
Universal C Runtime, via Windows Update
Supplied with the Steam client
Microsoft Visual C++ 2003, long out of support
OpenAL, supplied with the game or by Creative
Games for Windows Live, discontinued
Your graphics driver, not a DLL download
Not redistributable — the program was built wrong
Microsoft Visual C++ 2002 runtime, no longer distributed
Visual Basic 6 runtime, included with Windows
Windows, or the program that bundles its own copy
The program that bundles it, not a system package
The Qt framework, shipped inside the application
The game or program that bundles it
Rockstar Games Social Club
FTDI D2XX driver package
The program that uses it, not a download
- libeay32.dllFTP clients, database tools, mail clients and anything else that speaks TLS and bundles its own OpenSSL rather than using Windows.
- tbb12.dll3D, rendering, CAD and photo software, which bundle it to parallelise their heavy work. Also after moving a program folder between machines without reinstalling it.
The Python installation, not a download
What to do instead of searching the file name
- 01Identify the runtime the file belongs to, using the list above.
- 02Install that runtime from the publisher, verifying the installer hash.
- 03On Windows, install both the x64 and x86 versions where they exist. Many applications are 32-bit even on 64-bit systems.
- 04If the error persists, repair the runtime from Settings, Apps rather than reinstalling over the top.
Common questions
- Where can I download all DLL files in one pack?
- Nowhere, and it is worth understanding why rather than looking harder. DLLs are not interchangeable spare parts: each one belongs to a specific version of a specific runtime, compiled for a specific architecture, and Windows itself owns many of them. A pack claiming to hold "all" of them is either a random collection scraped from other people’s machines or a delivery mechanism, and dropping it into System32 is how a single broken program turns into a broken installation. The list above maps each file to the package that really contains it.
- Is downloading DLL files from a website safe?
- No, and the risk is not theoretical. A DLL is executable code that a trusted program will load and run with that program’s privileges, so a modified copy does whatever it likes and nothing on screen looks unusual. There is also no way to tell by looking: a legitimate DLL and a tampered one are the same kind of file. Every runtime here is free and comes straight from its publisher, so there is nothing to gain from the alternative.
- Is fixing a missing DLL different on Windows 11?
- No. The runtimes are the same, the packages are the same and the fix is the same as on Windows 10. Pages promising a Windows 11 specific DLL download are describing a difference that does not exist. What did change is that Windows 11 ships more of these components up to date out of the box, so a missing runtime DLL on a current install usually means an application that needs an older redistributable.
- Should I copy the DLL into System32?
- Almost never. Windows looks for a DLL next to the program that asked for it before it looks in the system folders, so the copy that matters is usually the one in the application’s own directory. Writing into System32 changes behaviour for every program on the machine, and if you overwrite a file Windows owns, the damage shows up later in something unrelated to whatever you were trying to fix.
- Why do so many sites offer these files individually?
- Because the search volume is enormous and the visitor is at their least sceptical: something has already failed and the file name in the error message looks like a shopping list. We cannot tell you what any particular site serves, and we are not claiming any of them is malicious. The structural point stands on its own: none of them can give you the hash the publisher declared, which is the only thing that would let you check what you received.