Question

I'm trying to register a COM dll sent to me by a company to use to talk to one of their devices. I was previously able to register it on this computer, but a few days ago it started throwing errors, so I unregistered it and now passing it to regsvr32.exe fails with

"The module IRAnalyzerCOM.dll" failed to load

Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files

The specified procedure could not be found

I've tried opening regsvr32.exe with depends.exe, and profiling it to see what errors pop up, and what I end up with is:

...
Loaded "IRANALYSERCOM.DLL" at address 0x0000000010000000.  Successfully hooked module.
Unloaded "IRANALYSERCOM.DLL" at address 0x0000000010000000.
LoadLibraryExW("C:\IRAnalyserCOM.dll", 0x0000000000000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: %1 is not a valid Win32 application (193).
Loaded "" at address 0x00000000002A0000.  Successfully hooked module.
Unloaded "" at address 0x00000000002A0000.

(I have it sitting in C:\ so that there is no possibility that there are any space-in-pathname problems). You may notice that regsvr32.exe does seem to have tried to load "", and indeed, depends.exe shows an "< empty string >" module in the module list. (Which fails to load, obviously)

This .DLL registers successfully on another desktop, and both are running Windows 7 64-bit.

Was it helpful?

Solution

Error: %1 is not a valid Win32 application (193).

This error is likely on a 64-bit operating system, it is telling you that are using the wrong version of regsvr32.exe. There are two, the 64-bit version in c:\windows\system32 and the 32-bit version in c:\windows\syswow64. Most COM servers are 32-bit so explicitly try typing c:\windows\syswow64\regsvr32 yourserver.dll

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top