Skip to content

Guide · Open source

How to use Dependencies: find missing DLLs on Windows

Updated · written with AI from the project's own documentation and checked against our catalogue data

Dependencies is a free, open-source Windows tool that opens a program or library file and draws a tree of the other DLL files it loads. It is a modern rewrite of the old Dependency Walker, and it is aimed at Windows developers and anyone whose program fails to start because a library is missing. After this guide you will know how to get the app, run it on a file, and choose the tree build behaviour that fits your file.

Dependencieslucasg/Dependencies · ★ 11.9k · MIT

Quick start

  1. 1Check prerequisites. Confirm you are on Windows and install the Visual C++ Redistributable so Dependencies can run.
  2. 2Download the release. Get the latest x64 release zip from the link in the project README.
  3. 3Unzip the archive. Extract the zip to a folder you can find again.
  4. 4Run the GUI. Start DependenciesGui.exe. If SmartScreen warns you, the README notes the binary is not signed.
  5. 5Open your file. Load the program or library that fails to start so its DLL tree is drawn.
  6. 6Pick a tree behaviour. Keep ChildOnly for a quick look, or switch to a recursive mode under Options if you need a deeper analysis and have the memory.

What Dependencies is for

Dependencies is a rewrite of the legacy software Dependency Walker, which shipped with Windows SDKs but whose development stopped around 2006. It helps Windows developers troubleshoot DLL load dependency issues by showing which DLLs a file depends on, so you can see where a load failure comes from.

  • Good fit: Windows developers troubleshooting DLL load errors
  • Good fit: people debugging a program that fails to start because a library is missing
  • Good fit: users who want a free replacement for the discontinued Dependency Walker
  • Not a fit: analysing DLLs loaded at runtime via LoadLibrary, which the README says is not supported
  • Not a fit: non-Windows users, since the project is built for Windows

Install Dependencies on Windows

Dependencies ships as a download with no installer. Download the latest x64 release zip from the link in the project README, unzip it, and run the GUI binary. The project README also lists a separate download for users whose antivirus flags the default package.

Dependencies needs the Visual C++ Redistributable installed to run properly. Because the binary is not signed, Windows SmartScreen might warn you when you start it.

  • Requirement: Windows
  • Requirement: Visual C++ Redistributable
  • Download the latest x64 release zip from the README link
  • Unzip the archive and run DependenciesGui.exe
git clone https://github.com/lucasg/Dependencies

Open a file and read the dependency tree

Dependencies ships as two binaries. DependenciesGui.exe is the GUI, and Dependencies.exe is the command-line tool. Open the program or library you are investigating in the GUI, and the tree shows the DLLs it loads. Find the branch that stops or reports a missing module to locate the load failure.

  • DependenciesGui.exe: graphical interface
  • Dependencies.exe: command-line tool
  • ClrPhTester.exe is also bundled and is described as a dumpbin-like executable used to test for non-regressions

Choose a tree build behaviour

Dependencies does not recursively resolve child imports when parsing a new file, because full recursion can be very memory-hungry; the README says it can use over a GB even for simple PE files. You can change this app-wide under Options, then Properties, then Tree build behaviour.

  • ChildOnly (default): only processes PE child imports and nothing beyond
  • RecursiveOnlyOnDirectImports: does not process delayload DLLs
  • Recursive: full recursive analysis, which needs plenty of time and RAM

Know the current limitations

The README says Dependencies recreates features of depends.exe, with some limits. It supports direct, forwarded and delay load dependencies. Dynamic loading via LoadLibrary is not supported. It also supports API set schema redirection, checks between API imports and exports, and only minimal side-by-side (SxS) private manifest search.

  • Supported: direct, forwarded and delay load dependencies
  • Not supported: dynamic loading via LoadLibrary
  • Supported: API set schema redirection and checks between imports and exports
  • Minimal support: SxS private manifests search only

Build from source

The README says building is straightforward. The one caveat is that you must select the Debug or Release configuration and the x64 or x86 platform, which may not be the default in your setup.

  • Choose Debug or Release configuration
  • Choose x64 or x86 platform

What people use it for

  • Finding which DLL a Windows program is missing when it fails to start
  • Checking the imports and exports of a library during development
  • Replacing Dependency Walker with a free, maintained tool
  • Testing a library's direct, forwarded and delay load dependencies

Frequently asked questions

Is Dependencies free?

Yes. The project is licensed under the MIT licence, and the source is on GitHub at lucasg/Dependencies. Check the licence file in the repository for the full terms.

What do I need to run Dependencies?

You need Windows and the Visual C++ Redistributable. The README says the app needs the redistributable installed to run properly.

Is Dependencies an alternative to Dependency Walker?

Yes. The README describes Dependencies as a modern, open-source rewrite of Dependency Walker, which stopped development around 2006. It aims to recreate features of depends.exe.

Why does Windows warn me when I run Dependencies?

The README says the binary is not signed, so SmartScreen might warn at runtime. The project also offers a download without PeView.exe for users whose antivirus flags that file.

Why is my full analysis using so much memory?

Recursive tree building can be very memory-hungry. The README says it can use over a GB even for simple PE files, so switch back to ChildOnly if your machine struggles.

Can Dependencies analyse DLLs loaded with LoadLibrary?

No. The README states that dynamic loading via LoadLibrary is not supported and probably never will be. Dependencies only handles direct, forwarded and delay load dependencies.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Dependencies is a good choice for Windows developers and users who need to find why a program fails to start because a DLL is missing, and who want a free tool in place of Dependency Walker. Skip it if you need to analyse DLLs loaded at runtime with LoadLibrary, if you work on non-Windows systems, or if you need deep recursive analysis on large files with limited RAM.

Install options & downloads