[英]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之間的區別非常重要:
確保命令提示符窗口具有管理員權限。 我正在使用 Windows Server 2012 並且在命令提示符中使用 regsvr32 時出現錯誤。 我通過從“所有程序”/“Windows 系統”/“命令提示符”中右鍵單擊它並選擇“以管理員身份運行”打開命令提示符。在此窗口中運行 regsvr32 成功加載了 dll 文件。
我找到了答案:我需要在計算機中的服務組件中添加一個新的應用程序,然后添加正確的DLL。
謝謝! 如果有人有同樣的問題,我會很樂意提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.