| Previous | Next |
| STATUS_SYNCHRONIZATION_REQUIRED | STATUS_OPEN_FAILED |
STATUS_DLL_NOT_FOUND
The loader could not locate a required module
This status can refer to the DLL named by the application or to a dependency imported by that DLL. Windows resolves module names using loaded-module state, API sets, known DLLs, application directories, configured search flags, and other search locations. Finding a similarly named file elsewhere does not prove that the loader can or should use it.
Copying arbitrary DLLs beside an executable is unsafe and can introduce architecture, version, and search-order vulnerabilities. The durable fix is to deploy the correct dependency through its supported installer or adjust explicit loading to use controlled directories.
What to inspect
- Trace the failing module name and full dependency chain with loader diagnostics rather than assuming the top-level DLL is absent.
- Record process architecture, API-set resolution, current search flags, package context, and resolved application directory.
- Check side-by-side or packaged deployment metadata when the file exists but is not visible to the loader context.
- Verify the located dependency architecture and exports before changing PATH or copying files into system directories.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft: dynamic-link library search order
- Microsoft: LoadLibraryEx
- Microsoft: linking an executable to a DLL
Looking for a different code? Search another status or error code.
