How to use 32-bit COMponents of Intelligent Converters in 64-bit environment
情報源: How to use 32bit COMponents in 64bit environment
古の呪文。
- 目的のCOMをHKey_Classes_Root\Wow6432Node\CLSID[GUID]から見つける
- 見つかったら、新しいREG_SZ(文字列)値を追加します。名前はAppIDでなければならず、データは検索したCOMオブジェクトGUIDと同じでなければなりません
- HKey_Classes_Root\Wow6432Node\AppID\の下に新しいキーを追加します。新しいキーは、COMオブジェクトのGUIDと同じ名前で呼び出す必要があります。
- 追加した新しいキーの下に、新しいREG_SZ(文字列)値を追加し、DllSurrogateと呼びます。値を空のままにします。
- HKey_Local_Machine\Software\Classes\AppID\の下に新しいキーを作成します。この場合も、新しいキーはCOMオブジェクトのGUIDと同じ名前で呼び出す必要があります。このキーの下に値を追加する必要はありません。
このレジストリ設定だけでCOM(COM+)のサービスがよろしくやってくれる。
技術的な解説:(2020/12/21)追記
Accessing 32-bit DLLs from 64-bit code | Reflections on IT
逆で、x86のプロセスからx64のCOMを呼び出したい場合:(2020/12/21)追記
Using 64-bit DLLs in 32-bit Processes with Out-of-process COM – CodeProject
コメント
[…] (もしかしたら、64bit版のAHKを使ってるせいもあるかも。32bitのCOMを64bitで使うときはDLLサロゲートの設定とかいうものがいるらしいと聞くんで。まあ、wscriptをShellRunで叩くようにするとこ […]