32-розрядна програма, що використовує Office IFilters, коли встановлено 64-розрядний Office


1

64-розрядний Office встановлює 64-бітні IFilters для своїх типів документів, але не встановлює 32-розрядних IFilters. Тому 32-бітні програми, які покладаються на IFilters, не можуть працювати з 64-розрядним Office. І хоча є можливість завантажити 32-розрядний IFilters з Microsoft, інсталятор не працюватиме на 64-бітній машині, скаржившись на невідповідність архітектури.

Чи є спосіб, щоб 32-розрядні програми витягували текст з документів Office за допомогою IFilters, коли встановлено 64-розрядний Office?

Дякую.


2
Можливо, тому Microsoft рекомендує 32-бітну версію Office навіть у 64-бітних Windows.
Вільям Джексон

@WilliamJackson: Це має бути відповідь.
surfasb

Я закінчив написати процес заглушки, який виконує запит IFilter на запити від 32-розрядної до 64-бітової, і результати повертаються. Здається, немає більш простого способу.
user56312

Відповіді:


2

У мене була така ж проблема - у мене є 32-бітний додаток, який я запускаю на Win 7 64-бітній машині.

Моє додаток, використовує iFilters для отримання тексту з файлів - .doc та .docx

Я не впевнений, чи вдасться це зробити для вас, але мій спосіб вирішити:

Regedit- Перейдіть до, Computer\HKEY_CLASSES_ROOT\.doc\PersistentHandlerа потім скопіюйте ключ реєстру. (Упевніться, що ви економите це для будь-якого звороту, якщо це потрібно)

Regedit- Перейдіть до Computer\HKEY_CLASSES_ROOT\.docx\PersistentHandlerі вставте .doc PersistentHandler клавішу над .docx PersistentHandler.

Це по суті говорить про те, щоб вказати на файли .docx на offfilt.dll( C:\Windows\SysWOW64\offfilt.dll(x86))

Я впевнений, що технічно хтось скаже мені, що я роблю, це абсолютно неправильно, але це працює для мене!

У мене є запущений пакетний файл, який перемикає реєстр з оригіналу на налаштування .doc і повертається знову за потребою.

Я припускаю, що якщо ви намагаєтесь піти іншим шляхом - 32 біт на 64, ви можете змінити процес.


0

Ні . За даними Microsoft :

За замовчуванням Microsoft Office 2010 встановлює 32-бітну версію Office 2010, навіть якщо на вашому комп'ютері працює 64-розрядна версія Windows.

32-розрядна версія Office 2010 є рекомендованим варіантом для більшості людей, оскільки це запобігає можливим проблемам сумісності з іншими 32-бітними додатками, зокрема сторонніми надбудовами, доступними лише для 32-бітних операційних систем.


1
Дякую за відповідь, але я запитав про Office IFilters, а не про Office. (Ви можете встановити та використовувати Office IFilters, не встановлюючи Office.) І, як не дивно, 32-розрядна установка Office насправді завжди встановлюватиме 64-бітні IFilters у 64-розрядних Windows.
user56312
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.