簡體   English   中英

模塊“.dll”已加載但未找到入口點

[英]The module ".dll" was loaded but the entry-point was not found

我有一個 DLL,它在我運行應用程序時導致錯誤。 該錯誤表示該服務未注冊。 因此,我使用 DLL 的名稱運行命令regsvr32 但它給了我一個錯誤,現在錯誤是:

模塊“mydll.dll”已加載,但未找到入口點“DllRegisterServer”。

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

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

該錯誤表明該DLL不是COM DLL或它已損壞。 如果它不是COM DLL並且沒有被應用程序用作COM DLL,那么就不需要注冊它。
根據您在問題中所說的內容(the service is not registered) ,我們似乎在談論未正確安裝的服務。 我將嘗試重新安裝該應用程序。

我遇到了這個問題

dumpbin /exports mydll.dll

depends mydll.dll

顯示'DllRegisterServer'。

問題是系統中有另一個DLL具有相同的名稱。 重命名mydll后,注冊成功。

為我解決的是使用:

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

但是,了解regasm.exe和regsvr.exe之間的區別非常重要:

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

確保命令提示符窗口具有管理員權限。 我正在使用 Windows Server 2012 並且在命令提示符中使用 regsvr32 時出現錯誤。 我通過從“所有程序”/“Windows 系統”/“命令提示符”中右鍵單擊它並選擇“以管理員身份運行”打開命令提示符。在此窗口中運行 regsvr32 成功加載了 dll 文件。

我找到了答案:我需要在計算機中的服務組件中添加一個新的應用程序,然后添加正確的DLL。

謝謝! 如果有人有同樣的問題,我會很樂意提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM