操作系统是 Windows XP 64 位。
该应用程序是 Microsoft Office 32 位,在其上运行我的应用程序(一个办公室插件)。
该 DLL 是一个 64 位 Adobe Acrobat “IFilter” dll,它可以访问 .pdf 文件的内容。
我认为问题的解决方案是找到 IFilter dll 的 32 位版本,但由于操作系统是 windows XP 64 位,唯一可以正确注册的版本是 64 位版本。
将我的 .NET 项目的目标平台设置为 x86、64 位或“任何 CPU”都不能解决问题。
64 位 IFilter 仅在我从控制台应用程序中调用它时才能正常工作,但是一旦从 office 加载项的上下文中调用它,它就什么也不做。
解决这个问题的最佳方法是什么?我是否应该将 64 位 dll 加载到新进程中并让 Office 插件使用远程处理与其通信?
另外,对于那些熟悉 IFilter 的人,是否可以将 32 位版本的 IFilter 与 office 插件一起部署,然后直接访问它,而无需在注册表中搜索正确安装的 IFilter?(我做不到)