windows - COM dll registrerer ikke længere

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at registrere en COM dll sendt til mig af et firma, der skal bruge til at tale med en af ​​deres enheder. Jeg kunne tidligere registrere det på denne computer, men for nogle dage siden begyndte det at smide fejl, så jeg registrerede det og nu passerer den til regsvr32.exe mislykkes med


"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


Jeg har forsøgt at åbne regsvr32.exe med depends.exe og profilere det for at se, hvilke fejl der kommer op, og hvad jeg ender med er:


...
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.


(Jeg har det i C: \, så der er ingen mulighed for, at der er problemer med plads-i-stienavn). Du kan bemærke, at regsvr32.exe tilsyneladende har forsøgt at indlæse '', og faktisk viser depends.exe et '< empty string>' modul i modullisten. (Som undlader at indlæse, selvfølgelig)


Dette .DLL registreres med succes på et andet skrivebord, og begge kører Windows 7 64-bit.

Bedste reference



  Fejl:\% 1 er ikke et gyldigt Win32-program (193).



Denne fejl er sandsynligvis på et 64-bit operativsystem, det fortæller dig, at bruger den forkerte version af regsvr32.exe. Der er to, 64-bit versionen i c: \ windows \ system32 og 32-bit versionen i c: \ windows \ syswow64. De fleste COM-servere er 32-bit, så prøv at skrive c: \ windows \ syswow64 \ regsvr32 yourserver.dll