模块“.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。 怎么办
解决方案windows win7 双击图片,不能通过照片查看器打开,有错误 “模块shimgvw.dll已加载,但找不到入口点DllRegisterServer ”