首页 文章

COM dll不再注册了

提问于
浏览
1

我正在尝试注册一家公司发送给我的COM dll,用于与他们的某个设备通信 . 我以前能够在这台计算机上注册它,但是几天前它开始抛出错误,所以我取消注册它现在将它传递给regsvr32.exe失败了

"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

我尝试使用depends.exe打开regsvr32.exe,并对其进行分析以查看弹出的错误,以及我最终得到的结果是:

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

(我把它放在C:\中,因此不存在任何空间路径名问题) . 您可能会注意到regsvr32.exe似乎确实尝试加载“”,实际上,depends.exe在模块列表中显示“<empty string>”模块 . (显然无法加载)

此.DLL在另一个桌面上成功注册,两者都运行Windows 7 64位 .

1 回答

  • 4

    错误:%1不是有效的Win32应用程序(193) .

    此错误可能是在64位操作系统上,它告诉您使用的是错误版本的regsvr32.exe . 有两个,c:\ windows \ system32中的64位版本和c:\ windows \ syswow64中的32位版本 . 大多数COM服务器都是32位,所以明确尝试输入c:\ windows \ syswow64 \ regsvr32 yourserver.dll

相关问题