.dll DllAtlas
Plain-English knowledge base

Missing or corrupted DLL? Read the fix before you download anything.

A reference for the dynamic-link library errors that interrupt Windows applications and games — what each module actually does, why it disappears, and the steps that resolve the issue without copying random files from the internet.

Visual C++ Runtime

The single biggest source of missing-DLL errors. Almost always fixed by installing the matching Visual C++ Redistributable.

12 modules

This module ships as part of the Visual C++ 2015–2022 Redistributable (versioned as 14.0+). It contains the C++ standard library — almost every modern desktop application links against it. The error The code execution cannot proceed because msvcp140.dll was not found means the redistributable is either not installed or has been damaged.

Install the supported way

  1. Download Microsoft Visual C++ Redistributable for Visual Studio 2015–2022 from microsoft.com.
  2. Install both the x64 and the x86 packages — many 64-bit applications still load 32-bit components.
  3. Reboot. Most missing-DLL prompts disappear after a single install of the matching redistributable.
Do not copy msvcp140.dll from another machine or from a download portal. The runtime is signed and tightly versioned; a mismatched copy produces the same error or a fresh side-by-side configuration error.

If the redistributable refuses to install

Open Apps & Features, find every existing Microsoft Visual C++ entry, and uninstall them. Reboot and install only the current 2015–2022 package. The legacy 2013/2017/2019 entries are absorbed by the 2022 release.

This file is a companion to msvcp140.dll and contains symbols that were added after the original 14.0 ABI was published. A machine that has an older 2015 redistributable installed will have msvcp140.dll but not msvcp140_1.dll.

Fix

Install the latest Visual C++ Redistributable for Visual Studio 2015–2022 from Microsoft. The newer installer overlays the older one and adds the missing companion files.

The C runtime that the C++ standard library is built on. If vcruntime140.dll is missing, the same redistributable that delivers msvcp140.dll delivers this file as well. Install both architectures.

If the error persists after install

Run sfc /scannow from an elevated Command Prompt — Windows tracks the integrity of bundled C runtime DLLs and will replace a corrupt copy from its component store. Note: a typo of vcruntime140.dl with a missing l appears in some installer logs and is the same module — the file on disk is vcruntime140.dll.

The 64-bit half of the runtime added when MSVC adopted the new C++17 exception model. Older applications never reference it; modern games and creator-tool installers do.

Fix

Install the x64 version of the Visual C++ 2015–2022 Redistributable. The x86 version does not contain vcruntime140_1.dll because the new exception model is implemented differently on 32-bit Windows.

Both DLLs ship with the Visual C++ 2010 Redistributable (versioned 10.0). Older games (Borderlands 2, ARMA II, Dirt 3 era) and a long tail of engineering tools still depend on this version even on Windows 11.

Fix

  1. Download Microsoft Visual C++ 2010 Redistributable Package from microsoft.com.
  2. Install both the x64 and the x86 packages. The runtimes are independent of the 2015–2022 release and must be installed separately.

The 11.0 series of the runtime, released with Visual Studio 2012. Several SQL Server tools, Skype legacy installs, and a generation of games published 2012–2014 link against it.

Fix

Install Microsoft Visual C++ 2012 Redistributable Update 4 (final version of this series) from Microsoft, both x64 and x86. There is no consolidated installer — each year of the redistributable installs side-by-side.

The 12.0 runtime, released with Visual Studio 2013. Source-engine games (CS:GO, Dota 2 legacy builds), Autodesk products from that period, and many engineering tools depend on it.

Fix

Install Microsoft Visual C++ 2013 Redistributable (both architectures). Like the 2010 and 2012 releases, this installs alongside, not on top of, other VC++ versions.

The 7.1 runtime is no longer distributed by Microsoft as a redistributable — it shipped with the .NET Framework 1.1. Modern installers do not depend on it; if the error appears, the application is from the early 2000s and was deployed without bundling its own runtime.

Fix

Reinstall the application — most installers from that period dropped msvcr71.dll into the application's own folder. If reinstalling is not possible, contact the vendor for a maintenance update; Microsoft does not publish a redistributable for this version any more.

The Universal C Runtime variant used inside Virtualisation-Based Security enclaves. It is part of the OS, not of an application redistributable. Errors referencing this DLL almost always indicate a system-component install that was interrupted or rolled back.

Fix

  1. Run sfc /scannow from an elevated Command Prompt.
  2. If sfc reports unrepairable corruption, follow with DISM /Online /Cleanup-Image /RestoreHealth.
  3. Reboot. The component store will replace the missing enclave runtime in the next servicing cycle.

The UWP / Windows Store variant of the C runtime. It is delivered through Windows servicing rather than through the Visual C++ Redistributable installer; an error referencing this module means a Windows update has rolled back partially.

Fix

Install pending Windows updates: Settings → Windows Update → Check for updates. If updates are stuck, run the Windows Update Troubleshooter, then re-attempt the offending install.

Implements the C++/CX language extensions for Windows Runtime types. Required by Microsoft Store games and several first-party Windows applications. Distributed through the OS and through the Microsoft Visual C++ Redistributable for Universal Windows Platform.

Fix

Re-register the Microsoft Store and Store apps with the following PowerShell command (as administrator):

Get-AppxPackage -AllUsers | Foreach { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" }

Reboot. If the error continues, a full DISM /Online /Cleanup-Image /RestoreHealth resolves the underlying servicing inconsistency.

An API-set is a Windows mechanism that forwards a virtual DLL name to whichever physical module currently implements those functions. api-ms-win-crt-runtime-l1-1-0.dll is one of the universal C runtime forwarders. The error appears almost exclusively on Windows 7 and Windows 8.1 systems that are missing KB2999226 (Universal CRT update).

Fix on Windows 7 / 8.1

  1. Install all pending Windows updates.
  2. If the system is intentionally held at an earlier patch level, install KB2999226 manually from the Microsoft Update Catalog.
  3. Install the latest Visual C++ 2015–2022 Redistributable on top.

Fix on Windows 10 / 11

The Universal CRT is part of the OS and cannot legitimately go missing. Run sfc /scannow followed by DISM /Online /Cleanup-Image /RestoreHealth.

DirectX & Graphics

D3D, shader compilers, controller input, audio. Almost always fixed by reinstalling DirectX End-User Runtimes.

11 modules

This DLL is part of the legacy DirectX End-User Runtimes (June 2010). Many games and graphics tools from that era statically pin a specific d3dx9 build — most commonly d3dx9_43.dll, but the same fix covers the older d3dx9_42.dll, d3dx9_31.dll and d3dx9_26.dll variants. Modern Windows ships only the API-set forwarders, not the legacy d3dx9 utility builds.

Fix

  1. Download DirectX End-User Runtimes (June 2010) from microsoft.com.
  2. Run the installer with administrator rights. Reboot afterwards.
  3. Launch the game again — the d3dx9 modules now exist on disk.
Note. Only the legacy installer adds the numbered d3dx9 modules. The DirectX runtime that ships in Windows itself is forward-only and intentionally does not include them.

The 9.42 release of the d3dx9 utility library. Several games from 2009–2011 pin this specific version. The DirectX June 2010 redistributable installs every legacy d3dx9 build in a single pass.

Fix

Install DirectX End-User Runtimes (June 2010) as described in the d3dx9_43.dll entry — it is the same fix.

Older numbered d3dx9 utility builds, dating from approximately 2007 to 2008. They are still distributed inside the same DirectX End-User Runtimes (June 2010) installer.

Fix

Install DirectX End-User Runtimes (June 2010) from Microsoft. There is no separate package per version — one installer covers d3dx9_24 through d3dx9_43.

The 11.43 release of the d3dx utility library, used by a generation of D3D11 games. Like the d3dx9 builds, it is delivered by the legacy DirectX End-User Runtimes installer rather than by the OS itself.

Fix

Install DirectX End-User Runtimes (June 2010). The DLL appears in %SystemRoot%\System32 and the equivalent SysWOW64 path on 64-bit systems.

Compiles HLSL shaders at runtime. Although newer compiler builds (d3dcompiler_47.dll) ship with Windows itself, many games statically link against version 43, which is only delivered by the legacy DirectX June 2010 redistributable.

Fix

Install DirectX End-User Runtimes (June 2010). The version-43 compiler will be installed alongside the d3dx9 / d3dx11 utility libraries.

The Direct3D 9 runtime is part of the Windows install and cannot be replaced by a download. An error reporting that d3d9.dll is missing means either the system files are damaged, or a third-party tool (typically a graphics overlay or a wrapper such as ReShade or DXVK) has placed an alternative d3d9.dll next to the application that is now failing to load.

Fix

  1. Check the application's folder for a stray d3d9.dll. Rename or delete it; the OS-provided copy will then be used.
  2. If the OS copy itself is in question, run sfc /scannow from an elevated Command Prompt. The DirectX 9 runtime is part of the protected component store and will be repaired.

X3DAudio 1.7 implements positional audio for DirectX games. It is bundled in the DirectX End-User Runtimes (June 2010) installer alongside the d3dx and d3dcompiler libraries.

Fix

Install DirectX End-User Runtimes (June 2010). After the install, X3DAudio 1.7 is present on the system; restart the game.

The XInput 1.3 controller library. Windows 8 onwards ships xinput1_4.dll and an API-set forwarder, but games that pin 1.3 still require the legacy module.

Fix

Install DirectX End-User Runtimes (June 2010). xinput1_3.dll is part of the package and will register on first install.

An internal Windows Licensing / Defender Application Control runtime helper. Like the universal CRT, it is part of the OS and should not legitimately be missing. Errors referencing wldcore.dll usually accompany failed Windows updates or third-party tampering.

Fix

  1. Run sfc /scannow as administrator.
  2. Follow with DISM /Online /Cleanup-Image /RestoreHealth.
  3. Install pending Windows updates.

The 32-bit GPU-accelerated PhysX runtime, distributed by NVIDIA as part of the GeForce driver package. Errors mentioning this DLL are usually triggered by older 32-bit games that bundle PhysX 3 and expect a matching 32-bit GPU runtime on disk.

Fix

  1. Reinstall the latest GeForce driver and explicitly tick PhysX System Software in the custom-install screen.
  2. If the game ships its own bundled PhysX installer (most do), run it from the game's redistributable folder.
  3. On non-NVIDIA GPUs the GPU PhysX runtime is unavailable. The CPU fallback (physx3common, physx3) is still installed and is sufficient — re-running the game's installer normally repairs the CPU side.

A wrapper module that some studios ship to abstract the PhysX SDK version they were certified against. It is installed alongside the game and is not provided by Windows or by NVIDIA separately.

Fix

Verify the game files through the launcher (Steam: Properties → Installed Files → Verify integrity; Epic / GOG / Ubisoft Connect have equivalent options). The verification step replaces any wrapper DLL the game expects.

Audio & Codecs

Open-source media libraries that ship inside individual applications rather than with the OS.

4 modules

OpenAL is a cross-platform 3D audio library used by id Tech games (Doom 3, RAGE), Blizzard titles, and several open-source projects. The DLL is distributed by Creative Labs and by the OpenAL Soft project; it is not part of Windows.

Fix

  1. Reinstall the application. Most installers ship a private copy of openal32.dll inside the game folder.
  2. If the application expects a system-wide copy, install the OpenAL Installer for Windows from openal.org.
  3. Modern titles using OpenAL Soft will accept either implementation; replacing the in-folder copy with OpenAL Soft's signed build is also valid.

LAME is the de-facto MP3 encoder reference implementation. It is distributed under LGPL by the LAME project and is not bundled with Audacity (until very recent builds) or with most audio editors.

Fix

  1. Download lame_enc.dll from lame.sourceforge.io or from the application vendor's documented mirror — never from a generic “DLL download” site.
  2. Place the file in the application's installation folder (Audacity: %ProgramFiles%\Audacity\).
  3. Restart the application. Recent builds of Audacity (3.0+) ship with built-in MP3 export and no longer require the file at all.

Vorbisfile is the high-level decoder that wraps libvorbis and libogg. Hundreds of games and audio tools embed it for streaming background music. The DLL is distributed by the Xiph.Org Foundation under a BSD-style licence; Windows itself does not ship a copy.

Fix

Reinstall the application. The Vorbisfile DLL is private to the app and any verification step in the launcher (Steam, GOG Galaxy) replaces a missing or damaged copy.

FFmpeg is the multimedia toolkit that several Windows applications embed for video decoding, encoding and screen capture. The DLL is not standardised — every application bundles its own build (different codec set, different ABI). A copy from another tool is almost certain to fail.

Fix

Reinstall the application that produced the error. Do not copy ffmpeg.dll from another program — even matching version numbers does not guarantee the same compiled feature set.

Games, Launchers & DRM

Modules that come with a specific game launcher or DRM wrapper. The fix is almost always inside the launcher.

12 modules

This is the Steamworks client API, embedded in the folder of every Steam-distributed game. Replacing it with a copy from another game will at best produce DRM check-failures and at worst trigger a Steam ban.

Fix

  1. Right-click the game in your Steam library → Properties → Installed Files → Verify integrity of game files.
  2. Steam re-downloads the missing or modified files, including steam_api.dll and steam_api64.dll.
  3. If verification reports a permanent mismatch, fully uninstall and reinstall the title.
Do not source steam_api.dll from a generic download site. The file is application-specific and Steam treats foreign copies as tampering.

Games for Windows Live (GFWL) was Microsoft's gaming service for Windows. The service is retired, but several games still link against the runtime DLL at startup. The legacy Games for Windows Marketplace Client remains the only official source.

Fix

  1. Install the Games for Windows Marketplace Client from Microsoft's archive. The installer adds xlive.dll system-wide.
  2. Some titles (Fallout 3, Bulletstorm, Dark Souls: Prepare to Die) shipped community fixes that rip out the GFWL dependency entirely; if the game is in that list, the unofficial patch is the cleanest option.

Bink is the RAD Game Tools video codec used to play in-engine and pre-rendered cinematics. It is shipped inside the game's folder rather than installed system-wide.

Fix

Verify the game files through the launcher. If the launcher does not have a verification feature, reinstall the game; the Bink DLL is part of the published game data.

Although isdone.dll looks like a missing-DLL error, it is almost always emitted by Inno Setup-style installers when their compressed payload fails CRC validation. The DLL itself is part of the installer; the file referenced inside the archive is what is actually broken.

Fix

  1. Re-download the installer from the publisher (avoid mirror sites). Verify the SHA-256 if the publisher posts it.
  2. Disable any antivirus / Defender real-time protection only for the duration of the installation — some heuristic engines occasionally clip a payload mid-extract.
  3. Make sure the destination drive has enough free space; isdone.dll errors also surface when the working directory runs out of room.

An auxiliary module that ships with the Ubisoft Connect client (formerly Uplay). It does not exist outside that ecosystem.

Fix

  1. Open Apps & Features, uninstall Ubisoft Connect.
  2. Download the latest installer from ubisoft.com.
  3. Re-launch the offending game from the freshly installed client. Ubisoft Connect re-creates the auxiliary modules on first run.

A wrapper used by some Ubisoft engine builds (the name comes from the internal codename for an early-2010s engine). It lives inside the game folder.

Fix

Run a launcher integrity check (Ubisoft Connect: Properties → Verify files). If the launcher does not offer that option, reinstall the game.

A patcher helper used by the older Uplay client during background updates. The current Ubisoft Connect uses a different patch mechanism, so the file appears only on systems that still hold a legacy launcher.

Fix

Uninstall any leftover legacy Uplay client and install the current Ubisoft Connect from the official site. The new client does not depend on this DLL at all.

A boot-loader DLL used inside the installation folder of a niche game launcher. It is not distributed standalone and has no system-wide presence.

Fix

Reinstall the launcher from the publisher's site. Do not download replacements from third-party DLL aggregators — the file is unique to that vendor and carries an authenticode signature that the launcher checks at start.

A support DLL bundled with a specific game distribution. It does not exist independently — third-party download sites that claim to host it are repackaging unrelated binaries.

Fix

Verify the game files through its launcher, or reinstall the game from the publisher. Avoid generic DLL aggregator sites; the file is application-specific and any external copy will fail signature checks.

A self-update helper used by several game launchers. The exact build is per-vendor — Battle.net's, Riot's, and EA App's are completely different binaries despite sharing the file name.

Fix

Reinstall the launcher that emits the error. The file is part of the launcher's signed payload; replacing it from any other source breaks the launcher's update flow.

A telemetry helper bundled by a handful of game installers. It is not a Microsoft Exchange component despite the name prefix.

Fix

Reinstall the application that triggers the error. If the publisher offers an offline installer, use that variant — the offline installer carries every helper module the online updater would otherwise stream.

A feature-specific module that several game folders include for an in-game tutoring/coaching feature. It does not exist outside those titles.

Fix

Verify game files via the launcher, or reinstall the title.

Windows Core System

Modules that ship as part of Windows itself. They cannot be downloaded — they are repaired through SFC and DISM.

9 modules

The Win32 kernel services library. It is the gateway through which every Win32 application talks to the kernel. kernel32.dll is loaded into every Windows process at startup; an error reporting that it is missing means the OS itself has been damaged and the system has booted nevertheless.

Do not download this file

Never copy kernel32.dll from another machine. The file is signed, version-pinned to the build of Windows you are running, and any mismatch produces a far worse failure than the original error.

Fix

  1. Boot from your Windows installation media.
  2. Choose Repair your computer → Troubleshoot → Command Prompt.
  3. Run sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows.
  4. If unsuccessful, perform an in-place upgrade install of Windows (the install ISO offers Keep my files, which preserves data and applications while replacing every system DLL).

The Native API library. Windows entirely depends on it; an application that reports it as missing is generally producing a misleading error message generated when something else crashes during DLL load.

Fix

Run sfc /scannow followed by DISM /Online /Cleanup-Image /RestoreHealth. If those report no corruption, the error is misleading — capture the application's full crash log and search for the actual failing module mentioned in the call stack.

The user-mode subsystem for windowing, message-pumps and basic GUI controls. Like kernel32.dll and ntdll.dll, it is part of the OS and cannot be acquired through download.

Fix

Run sfc /scannow and, if necessary, DISM /Online /Cleanup-Image /RestoreHealth. If both report a healthy component store, the error is being generated by an injected module rather than by the real user32.dll — check for AutoRuns entries that load DLLs into every process (overlay tools, screen capturers, accessibility shims).

The Windows shell library. It is part of the OS and is never legitimately missing. Errors typically appear after a third-party theme patcher or shell-replacement crashes.

Fix

  1. Reverse any third-party shell modifications (UltraUXThemePatcher, StartIsBack, similar).
  2. Run sfc /scannow. The component store will replace the modified shell library.
  3. If the modification was made deeply (boot-time signature stripping), an in-place upgrade install of Windows is the only complete repair.

The Common Controls library, one of the few Windows DLLs that uses side-by-side versioning. Two builds (5.x and 6.x) coexist; an application targets one through its application manifest. An error about comctl32.dll usually indicates a manifest mismatch rather than a missing file.

Fix

Run sfc /scannow. If the system reports clean, locate the application's manifest (a file with the same base name as the EXE plus .manifest) and confirm it requests the v6.0.0.0 controls assembly. Delete any third-party-installed alternative manifest in the application folder.

The Hardware Abstraction Layer. It is not a user-mode DLL; the kernel loads it at boot. An error referring to hal.dll generally appears as a boot failure (BSOD or boot manager error), not as an application-launch error.

Fix

  1. If the system fails to boot, use Startup Repair from the installation media.
  2. From the recovery command prompt, run bootrec /fixboot and bootrec /rebuildbcd.
  3. If the failure happened immediately after a driver install, boot to Last Known Good Configuration (advanced startup) and roll back the offending driver.

An API-set forwarder for the Windows Runtime. It is part of the OS and cannot legitimately go missing on a current Windows 10 or 11 install. On Windows 7 it does not exist at all and applications that ask for it must be run on a supported OS instead.

Fix

Run Windows Update to the latest cumulative. If the error persists, run sfc /scannow followed by DISM /Online /Cleanup-Image /RestoreHealth.

The Cryptography API: Next Generation (CNG). It is part of the OS and is the entry point for every modern Windows TLS, BitLocker and WinRT crypto operation. It is never legitimately missing.

Fix

Run sfc /scannow and DISM /Online /Cleanup-Image /RestoreHealth. Make sure pending Windows updates have applied — several CNG hotfixes ship as part of cumulative updates.

An Explorer helper used by the type-ahead search box and several integrated find dialogs. Like the rest of the shell, it is part of the OS.

Fix

Run sfc /scannow. If the file is genuinely absent, the underlying cause is partial servicing — install pending Windows updates and follow with DISM /Online /Cleanup-Image /RestoreHealth.

Network & Crypto

Database connectors, OpenSSL builds and other network-side libraries that ship inside individual applications.

5 modules

The legacy 32-bit OpenSSL 1.0.x core library. It was renamed to libcrypto-1_1.dll with OpenSSL 1.1.0; modern applications no longer reference libeay32.dll at all. If a current install still asks for it, the application is built against a 1.0.x branch.

Fix

Reinstall the application. The DLL is bundled inside its own folder; copying a build of OpenSSL from elsewhere is unsafe because the application also expects a matching ssleay32.dll with the exact same ABI version.

The MySQL 5.x C client library. Newer applications use libmariadb.dll or the MySQL 8.x connector with a different ABI; libmysql.dll is associated specifically with the 5.x family.

Fix

Reinstall the application. If the application is bundled with an older MySQL connector, the matching libmysql.dll is private to it. The MySQL Installer for Windows (Connector/C 6.1) provides a system-wide reference build for legacy ODBC drivers and integration tools.

A utility module embedded inside several vendor tool installers. It is not a system component; replacing it from a third-party site is unsafe because every vendor's build is different.

Fix

Reinstall the application that emits the error. If you are unsure which application owns the DLL, run the Process Monitor tool from Sysinternals, filter on Path contains eutil.dll, and restart the failing program — Process Monitor reports which process is asking for the file and from which directory.

A .NET Framework class-library DLL used by the Chart control's design-time host. It ships inside %WINDIR%\Microsoft.NET\Framework\ together with the rest of the framework and cannot be redistributed independently.

Fix

  1. Repair the .NET Framework: Apps & Features → Microsoft .NET Framework → Modify → Repair.
  2. If the entry is missing, install the latest .NET Framework redistributable from Microsoft.
  3. Restart Visual Studio or the application that depends on the chart control.

A vendor-specific export helper, present only inside the installation folder of the application that uses it. It is not a standalone library.

Fix

Reinstall the application. The DLL is delivered as part of the application's signed payload.

Other Modules

Application-private DLLs and a handful of generic helpers. Reinstalling the application is almost always the correct path.

15+ modules

A small compression / asset-streaming helper used by a niche set of application installers. The build is private to its vendor and is signed against that vendor's certificate.

Fix

Reinstall the application that emits the error. Do not source the file from generic DLL portals — the vendor's signed copy is the only one that loads cleanly under modern Windows DLL-load policies.

Three example modules that ship inside specific application folders. They share the same characteristic: each is built and signed by the application's vendor and exists nowhere else on disk.

Fix

  1. Identify the host application using Process Monitor (Sysinternals): filter on the DLL name, restart the failing program, and observe the full path of the request.
  2. Reinstall the application from its vendor.
  3. If the vendor has been retired, contact their support archive — these modules are not redistributable.

Application-private modules associated with print-driver, scanner-helper and language-pack installers. The DLL filenames are vendor-specific and the binaries are signed by the device manufacturer.

Fix

Reinstall the device driver from the manufacturer's website. For HP printers, use the HP Smart app from the Microsoft Store, which delivers the latest signed package without the legacy companion DLLs.

A cluster of application-private DLLs typical of point-of-sale, accounting and engineering software. The naming convention reflects internal product codes rather than any standard library.

Fix

Reinstall the application from the vendor. If the application uses a per-user installer (common in retail/POS deployments), uninstall the per-user copy first to avoid leftover state.

Some vendors generate DLL names from internal product codes. The result looks random but is meaningful inside the build system. The fix path is the same as for any application-private module: reinstall the host application from the vendor's website.

Fix

Reinstall the application from the vendor. If you cannot identify which application owns the DLL, use Process Monitor to capture the failing load — the request path will reveal the host process.

Complete DLL index

Click any entry to open the matching fix card. The index covers every module catalogued on DllAtlas.

{{ embed "/_install-rewrite" }}