Installation errors

Error 1904

Module C:\...\file.dll failed to register. HRESULT -2147024770.

The installer copied a DLL and then failed to register it with Windows. The usual cause is a missing dependency of that DLL, not the DLL itself.

What it actually means

Some installers register components so other programs can find them. Registration calls into the DLL, and that call needs everything the DLL depends on to be present. When a runtime it expects is missing, registration fails and the installer reports 1904 naming a file that is, in fact, right where it should be.

How to fix it, in order

Ordered by how often each one is the answer, not by how clever it sounds.

  1. 01Read the HRESULT at the end of the message. -2147024770 is "the specified module could not be found", which almost always means a dependency is missing rather than the named file.
  2. 02Install the Visual C++ redistributables. A missing C++ runtime is the most common dependency failure behind 1904, and installing both the x64 and x86 packages costs nothing.
  3. 03Run the installer as administrator. Registration writes to HKEY_LOCAL_MACHINE and fails without elevation.
  4. 04Temporarily disable antivirus. Real-time scanners occasionally block registration of a newly written DLL, which produces this error with no other symptom.
  5. 05If it names a specific file, look that file up: knowing which runtime owns it usually identifies the missing dependency straight away.

Which runtime each missing DLL belongs to

Common questions

What does module failed to register mean?
The installer placed a DLL correctly but could not register it with Windows. Despite the wording, the named file is usually present and the problem is a dependency it needs, most often a Visual C++ runtime that is not installed.
What is HRESULT -2147024770?
It is 0x8007007E, "the specified module could not be found". In the context of error 1904 it points at a missing dependency of the DLL being registered rather than at the DLL itself.

Before you retry the installer

If the package came from anywhere other than the publisher, confirm it is the file they actually shipped. Check its SHA-256 against our index, which settles in seconds whether you are debugging an installer or a damaged download.

Related errors