OSはWindowsXP64ビットです。
アプリケーションはMicrosoftOffice32ビットであり、その上で私のアプリケーション(Officeアドイン)が実行されます。
DLLは64ビットのAdobeAcrobat"IFilter" dllであり、.pdfファイルの内容にアクセスできます。
問題の解決策はIFilterdllの32ビットバージョンを見つけることだと思いましたが、OSはWindows XP 64ビットであるため、正しく登録されるバージョンは64ビットバージョンのみです。
.NETプロジェクトのターゲットプラットフォームをx86、64ビット、または「任意のCPU」に設定しても、問題は解決しません。
64ビットIFilterは、コンソールアプリケーション内から呼び出す場合にのみ正しく機能しますが、Officeアドインのコンテキスト内から呼び出されると、何も実行されません。
この問題を解決するための最良の方法は何ですか?64ビットdllを新しいプロセスにロードし、オフィスアドインがリモート処理を使用してそれと通信する必要がありますか?
また、IFilterに精通している方は、32ビットバージョンのIFilterをOfficeアドインと一緒に展開し、レジストリで適切にインストールされたIFilterを検索せずに直接アクセスすることはできますか?(できませんでした)