(32ビット)COM DLLをCOM +アプリケーションとして登録する方法


1

COM +に32 COMサーバーDLLを登録できるので、インプロセスサーバーではなくローカルサーバーとして実行されると聞きました。これは64/32ビット問題を解決します、64ビットCScriptホストの32ビットCOM DLLにアクセスすることは可能でしょう。

Win7の "コンポーネントサービス"にDLLをCOM +アプリケーションとして登録する方法を教えてください。

編集する 32ビットDLLを64ビットDLLに登録することはできません。 regsvr32 この64ビットプログラムは、CScriptホストだけでなく32ビットDLLもロードできないためです。唯一の回避策は、DLL内のインプロセスCOMサーバーを32ビットホストで実行されているアウトプロセスサーバーで使用できるようにすることです。これがDLLをCOM +アプリケーションにインストールする理由です。

回答:


1

64ビット版のWindows 7では、Regsvr32.exeファイルに2つのバージョンがあります。
64bit版は %systemroot%\System32\regsvr32.exe.
32ビット版は %systemroot%\SysWoW64\regsvr32.exe.
.dllを登録するには、それぞれのパスに移動してregsrv32.exe YourFileName.dllを実行します。


regsvr32 プログラムが32ビットDLLをロードして呼び出し DllRegisterServer それはDLLによってエクスポートされます。 64ビット以降、あなたの提案はうまくいきません regsvr32 32ビットDLLを読み込めません。だからあなたの答えようとする試みは残念ながら間違っています。
harper

これは正しい答えなので、正しいバージョンのregsvr32を呼び出しました。
Ramhound

@ Ramhound 32ビットバージョンのregsvr32に32ビットDLLを登録しても問題ありません。しかし、これは64ビットプロセスから呼び出す方法やCOM +の設定に対する質問に対する答えでもありません。
harper

@ harper - もちろんです。あなたが正しいバージョンを呼び出す場合 regsvr32 それからそれは問題ではありません。
Ramhound

@ Ramhoundそして、これはどのようにこの質問に対する答えになるでしょうか?
harper
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.