55

私はWindows7、64ビットを持っています。

zippy32を使用して.dll(comdlg32.dll)を登録しようとしています。しかし、dllは読み取られたが、DLLRegistryServerエントリポイントが見つからないというエラーが表示されます。

System32とSysWOW64の両方でコマンドを実行し、「管理者として実行」を使用してコマンドを実行しました。

古いMSComDlg.CommonDialogコンポーネントは64ビットで動作しなくなりました。

4

8 に答える 8

15

comdlg32.dll は COM DLL ではないため、登録できません。

これを自分で確認する 1 つの方法は、次のコマンドを実行することです。

dumpbin /exports comdlg32.dll

comdlg32.dll にDllRegisterServerメソッドが含まれていないことがわかります。したがって、RegSvr32.exe は機能しません。

それがあなたの答えです。


ComDlg32.dll はシステム コンポーネントです。(c:\windows\system32 と c:\windows\syswow64 の両方に存在します) 古いバージョンで置き換えたり、登録を上書きしようとすると、残りの Windows が破損する可能性があります。


もっと手伝うことができますが、MSComDlg.CommonDialog が何であるかを知る必要があります。それは何をし、どのように機能するはずですか?また、登録しようとしている ComDlg32.dll のバージョン (およびどこで入手したものか) を教えてください。

于 2012-12-19T08:58:21.073 に答える
12

comdlg32.dll は実際には COM dll ではありません (登録できません)。

必要なのは、MSComDlg.CommonDialog COM クラスを含むcomdlg32.ocxです(実際には comdlg32.dll に依存して動作します)。comdlg32.ocx を理解したら、次のことができるようになりますregsvr32 comdlg32.ocx

于 2012-12-19T09:09:00.153 に答える
5

Fundsite への DLL の登録

古いか欠落している comdlg32.ocx ランタイム ライブラリが、このエラーの原因となっている可能性があります。comdlg32.ocx ファイルが破損していないことを確認してください。それ以外の場合は、ファイル comdlg32.ocx (~60 Kb Zip) をダウンロードします。

ファイルをダウンロードし、comdlg32.ocx を Windows\System32 フォルダーまたは Windows\SysWOW64 に抽出します。私の場合、Windows\System32 で開始しましたが、最終的には機能しなかったため、再度 Windows\SysWOW64 に保存しました。

[スタート]、[ファイル名を指定して実行] ダイアログから次のコマンドを入力します:「c:\windows>System32\regsvr32 Comdlg32.ocx」または「c:\windows>SysWOW64\regsvr32 Comdlg32.ocx」</p>

これで Comdlg.ocx ファイルが登録され、次のステップは DLL を登録することです

  1. Fundsite.Text.Encoding をコピーします。dll をパス C:\Windows\Microsoft.NET\Framework64\v2.0.50727 の下の 64 ビット用の .Net Framework フォルダーに

  2. 次に、コマンド プロンプトでディレクトリ C:\Windows\Microsoft.NET\Framework64\v2.0.50727 に移動し、次に示すように次のコマンドを実行します。

これにより、dll が正常に登録されます。

C:\Windows\Microsoft.net\framework64\v2.0.50727>regasm "DLL 名".dll

于 2014-08-07T20:40:15.720 に答える
0

Windows 10 にレガシ VB6 でコンパイルされたアプリケーションをインストールする際のエントリ ポイント エラーの欠落に関する情報。

不足している OCX ファイルは、Visual Basic 6.0 インストーラー パッケージの「OS\System フォルダー」にあります。今日、関連する OCX ファイルを (ネットワークから) ローカル コンピューターにコピーしました

次に、管理者として以下のコマンドを入力しました。通常は、それを登録するために機能します。

cd \windows\syswow64
regsvr32.exe /u mscomctl.ocx
regsvr32.exe /i mscomctl.ocx

(/i コマンド用にローカルにコピーされたファイルへのパスを追加します)

しかし、今日、これらの regsvr32.exe コマンドの両方でエラーが発生しました。

2 番目のエラーは、元の投稿者が言及したエラーと同様の DllImport 欠落エントリ ポイント エラーを示していました。

解決するために、私が試したことの1つは、スイッチを除外することでした-

regsvr32.exe mscomctl.ocx

驚いたことに、それは成功したと言った。その後、アプリが正常に起動したことを確認しました。

于 2020-01-14T13:47:19.400 に答える
-4

Windows 7でmyinfo.dllファイルを登録しているときにも同様の問題がありました。次の作業: デスクトップにショートカットを作成します C:\Windows\System32\regsvr32.exe c:\windows\system32\myinfo.dll 右クリック作成したばかりのショートカットで、[管理者として実行] を選択します。

于 2013-12-17T11:30:22.660 に答える
-4

Regsvr32 の解決策: DllRegisterServer エントリ ポイントが見つかりませんでした。

  1. systemdrive (通常は c:)\system32 に移動し、ファイル「Regsvr32.exe」を検索します。
  2. 右クリックしてプロパティをクリックし、セキュリティタブに移動して詳細ボタンをクリックします。
  3. 所有者タブをクリックし、編集をクリックして管理者を選択し、OK をクリックします。
  4. クリックイン権限
  5. 権限の変更をクリックします。
  6. 管理者を選択して [編集] をクリックし、フル コントロールにチェックを入れて [OK] をクリックします。
  7. 同様に、SYSTEM を選択して編集し、フル コントロールにチェックマークを付けて、[OK] をクリックし、開いている他のダイアログ ボックスをクリックします。
  8. これで、.dll ファイルが登録され、エラーが発生しなくなりました。インストール中に dll ファイルが登録されなかったソフトウェアは、再インストールする必要があります。
于 2013-03-11T14:50:50.680 に答える