2012-05-04 32 views
0

Windowsのコンテキストメニューを拡張するエクスプローラのCOM Dllを作成しました.regsvr32経由での登録は32ビットWindowsでうまく動作しますが、64ビットでは手がかりがなくなりません。 regsvr32は正常な登録を報告しますが、Dllは機能しません。私はSysWow64ディレクトリからsystem32からregsvr32を呼び出そうとしましたが、これは私が推測できる範囲ではありません。レジストリをチェックしました - すべてがレジストリにwow3264Node ofcourseに書き込まれました(インストールは64ビットOS上にあったため)。まだ何も起こらない。今のところ特定の情報を提供するのは難しいです。誰もそのような行動の可能性のある他の原因を示唆したり指したりすることはできません前もって感謝します。64ビットエクスプローラプラグイン登録の問題

答えて

0

DLLを64ビットコンパイルする必要があります。登録コードがWow6432Nodeに書き込むということは、DLLが32ビットであることを示します。 64ビットOSでは、エクスプローラは64ビットプロセスなので、64ビットのシェル拡張しかロードできません。

32ビットと64ビットの両方のシェル拡張を64ビットマシンに登録して、32ビットプログラムがシェル拡張を認識できるようにすることを忘れないでください。あなたはそれを使用してC:\Windows\SysWOW64\regsvr32

+0

プラグインはi86とamd64アーキテクチャのために作られているので、現在の状況ではそうではありません。レジストリツリーは存在します.32個はwow6432node用で、もう1個はネイティブwin64レジストリパス用です。それにもかかわらず、提案をありがとう。このような問題を引き起こす可能性のある他の側面 – user1138436

+0

i86とは何ですか?あなたはx86を意味しますか?あなたのコメントはあなたが質問で言うことと矛盾します。 –

+0

x86 - それはタイプミスでした 矛盾について - これはwow6432nodeについてですか?明確にしてください – user1138436

関連する問題