20

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

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

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

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

4

5 回答 5

2

我有这个问题

dumpbin /exports mydll.dll

depends mydll.dll

显示“DllRegisterServer”。

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

于 2014-06-13T09:39:40.910 回答
1

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

于 2012-04-22T07:43:12.583 回答
0

为我解决的问题是使用:

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

但是,了解 regasm.exe 和 regsvr.exe 之间的区别很重要:

RegAsm.exe 和 regsvr32 有什么区别?如何使用 regsvr32 生成 tlb 文件?

于 2017-07-05T07:54:22.307 回答
0

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

于 2021-10-21T15:19:45.617 回答
-11

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

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

于 2012-06-17T06:40:06.467 回答