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

Posted

技术标签:

【中文标题】模块“.dll”已加载,但未找到入口点【英文标题】:The module ".dll" was loaded but the entry-point was not found 【发布时间】:2012-04-30 22:19:53 【问题描述】:

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

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

确保“mydll.dll”是有效的 DLL 或 OCX 文件,然后重试

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

【问题讨论】:

【参考方案1】:

我遇到了这个问题

dumpbin /exports mydll.dll

depends mydll.dll

显示“DllRegisterServer”。

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

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

为我解决的问题是使用:

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?

【讨论】:

OP 说regsvr32 在 WinXP 上工作,但在 Win7 64 上不行。所以这不是原因。 如果你的解决方案解决了dll的注册,为什么还需要了解regasm和regsvr的区别?【参考方案4】:

确保命令提示符窗口具有管理员权限。我使用的是 Windows Server 2012,在命令提示符下使用 regsvr32 时出现错误。我通过在所有程序/Windows 系统/命令提示符中右键单击它并选择“以管理员身份运行”打开命令提示符,在此窗口中运行 regsvr32 成功加载了 dll 文件。

【讨论】:

【参考方案5】:

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

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

【讨论】:

您好,我也遇到了同样的问题,请给我一条前进的道路。 你能解释一下吗? 关于“更多解释”的任何更新? “向服务组件添加新应用程序”是什么意思? 请详细说明您是如何解决问题的。 这不是答案。这是“嘿,我找到了答案,如果有人需要,我愿意提供答案!”如果您在答案中包含答案,那就太好了。

以上是关于模块“.dll”已加载,但未找到入口点的主要内容,如果未能解决你的问题,请参考以下文章

模块“msvcp110.dll”已加载,但找不到入口点DllRegisterserver。 怎么办

模块qtcore.dll已经加载,但找不到入口点怎么解决

解决方案windows win7 双击图片,不能通过照片查看器打开,有错误 “模块shimgvw.dll已加载,但找不到入口点DllRegisterServer ”

关于:找不到.dll文件||已加载但找不到入口点的解决方法

加载DLL文件时出错,找不到指定的模块,如何解决?

无法在 DLL 中找到入口点