模块“.dll”已加载,但未找到入口点

时间:2012-04-19 11:52:25

标签: asp.net dll windows-7 regsvr32 component-services

我有一个DLL,当我运行应用程序时会导致错误。 错误表示该服务未注册。所以我使用DLL的名称运行命令regsvr32。 但它给了我一个错误,现在错误是:

  

模块'mydll.dll'已加载但未找到入口点'DllRegisterServer'。

     

确保'mydll.dll'是有效的DLL或OCX文件,然后再试一次

我在Windows 7 64位上工作过。在Windows XP上它工作正常! 有人知道它可能是什么吗? 谢谢!

4 个答案:

答案 0 :(得分:1)

错误表明DLL不是COM DLL或它已损坏。如果它不是COM DLL并且没有被应用程序用作COM DLL,那么就不需要注册它 根据您在问题(the service is not registered)中的说法,我们似乎在谈论未正确安装的服务。我将尝试重新安装该应用程序。

答案 1 :(得分:1)

我遇到了这个问题并且

dumpbin /exports mydll.dll

depends mydll.dll

显示'DllRegisterServer'。

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

答案 2 :(得分:1)

为我解决的是使用:

  

regasm.exe' xx.dll' / tlb / codebase / register

然而,了解regasm.exe和regsvr.exe之间的区别非常重要:

What is difference between RegAsm.exe and regsvr32? How to generate a tlb file using regsvr32?

答案 3 :(得分:-3)

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

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