web-dev-qa-db-ja.com

モジュール ".dll"はロードされましたが、エントリポイントが見つかりませんでした

DLLがあるため、アプリケーションを実行するとエラーが発生します。エラーはサービスが登録されていないことを示しています。したがって、DLLの名前でコマンドregsvr32を実行します。エラー。エラーは次のとおりです。

モジュール「mydll.dll」はロードされましたが、エントリポイント「DllRegisterServer」が見つかりませんでした。

「mydll.dll」が有効なDLLまたはOCXファイルであることを確認してから、再試行してください

私はWindows 7 64ビットで働いていました。 Windowsでは、XPそれは正常に動作します!。誰かがそれが何であるかを知っていますか?ありがとう!

12
st mnmn

この問題がありました

dumpbin /exports mydll.dll

そして

depends mydll.dll

「DllRegisterServer」を示しました。

問題は、同じ名前のシステムに別のDLLがあったことです。mydllの名前を変更した後、登録は成功しました。

1
Roland Puntaier

このエラーは、DLLがCOM DLLでないか、破損していることを示しています。COMDLLではない場合、アプリケーションとしてCOM DLLとして使用されていない場合、登録する必要はありません。
質問であなたが言うことから(the service is not registered)正しくインストールされていないサービスについて話しているようです。アプリケーションを再インストールしようとします。

1
Steve

私のためにそれを解決したのは使用していた:

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

ただし、regasm.exeとregsvr.exeの違いを理解することは重要です。

RegAsm.exeとregsvr32の違いは何ですか?regsvr32を使用してtlbファイルを生成する方法は?

1
user2111199