该模块“.DLL”已加载,但找不到入口点(The module “.dll” was loaded

2019-07-29 02:03发布

我有一个DLL造成的错误,当我运行应用程序。 错误说,该服务尚未注册。 于是我运行命令regsvr32与DLL的名称。 但它给了我一个错误,现在的错误是:

该模块的MYDLL.DLL“已加载,但在入口点“中的DllRegisterServer”没有被发现。

确保“MYDLL.DLL”是一个有效的DLL或OCX文件,然后再试一次

我曾在Windows 7 64位。 在Windows XP中正常工作! 是否有人知道它是什么呢? 谢谢!

Answer 1:

该错误表示DLL或者是不是一个COM DLL或它的损坏。 如果它不是一个COM DLL,而不是被用来作为一个应用程序一个COM DLL那么就没有必要进行注册。
从你在你的问题说什么(the service is not registered)我们似乎都在谈论没有正确安装的服务。 我会尝试重新安装应用程序。



Answer 2:

我有这个问题,

dumpbin /exports mydll.dll

depends mydll.dll

显示 '中的DllRegisterServer'。

问题是,有在具有相同名称的系统另一个DLL。 重命名后MYDLL注册成功。



Answer 3:

什么解决它,我用:

regasm.exe 'xx.dll'/ TLB /代码库/寄存器

它是,但是重要的是了解regasm.exe和RegSvr.exe中的区别:

是什么RegAsm.exe与REGSVR32之间的区别? 如何使用REGSVR32生成一个TLB文件?



Answer 4:

我找到了答案:我需要一个新的应用程序在我的电脑添加到服务组件,然后添加正确的DLL的。

谢谢! 如果任何人有同样的问题,我会很乐意提供帮助。



文章来源: The module “.dll” was loaded but the entry-point was not found