2012-02-07 6 views
6

È necessario utilizzare un'interfaccia IFilter da un'app a 32 bit su sistemi Windows x64. Questo è facile per i file .doc poiché offfilt.dll supporta entrambi i tipi di build. Tuttavia, ho bisogno di ottenere anche il testo semplice da .docx e altri tipi di file. La soluzione inizialmente è installare Microsoft Filter Packs. Tuttavia, solo la versione x64 verrà installata ... il che significa che la mia app a 32 bit non può usarli. Funzionano alla grande sotto Windows a 32 bit.Utilizzo di IFilter da un'app a 32 bit su un sistema x64

Qualcuno ha trovato un modo per aggirare questo?

risposta

1

Come hai scoperto, non esiste un modo supportato per installare i filtri a 32 bit su un sistema a 64 bit, vedere la risposta da MSFT vicino alla fine di questo post: How can I install the 32 bit Office Filter Pack on a 64 bit system?.

La soluzione suggerita è quella di creare un programma di supporto per eseguire il filtraggio e inoltrare i dati all'applicazione principale.

Esistono diversi modi per eseguire l'IPC in Windows, quindi scegli quello che funziona per te. Ho creato un servizio che utilizza WCF per creare facilmente un proxy remoto che rende l'operazione molto trasparente per l'applicazione principale.

7

Ho trovato un modo per installare docx Filter Pack 32 bit in un sistema operativo a 64 bit. Per altri formati di file è simile.

  1. Installa pacchetto filtro 32 bit in un sistema operativo a 32 bit;
  2. Copy IFilters file nella directory “C: \ Programmi \ File comuni \ Microsoft Shared \ Filtri” da 32 bit del sistema operativo alla directory “C: \ Program Files (x86) \ Common Files \ Microsoft Shared \ Filtri "nel sistema operativo a 64 bit.
  3. copiare le seguenti righe in un file “ifilter.reg” ed eseguire il file: contenuti

del file:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.docx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_CLASSES_ROOT\.docm\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_CLASSES_ROOT\.dotx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.docm\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.docx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.dotx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}] 
@="Office Open XML Format Word Persistent Handler" 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered] 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}] 
@="Office Open XML Format Word Persistent Handler" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{5A98B233-3C59-4B31-944C-0E560D85E6C3}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{5A98B233-3C59-4B31-944C-0E560D85E6C3}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 


[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" 
+0

Grazie mille. Per me funziona – nvtthang

3

Estendere risposta Rui con le finestre script del Registro per 3 formati di file (Word, Excel, PowerPoint). Spero, sarà un momento sicuro per qualcuno in quanto ha funzionato bene:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.docx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 
[HKEY_CLASSES_ROOT\.pptx\PersistentHandler] 
@="{4F46F75F-199F-4C63-8B7D-86D48FE7970C}" 
[HKEY_CLASSES_ROOT\.xlsx\PersistentHandler] 
@="{4887767F-7ADC-4983-B576-88FB643D6F79}" 


[HKEY_CLASSES_ROOT\.docm\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 
[HKEY_CLASSES_ROOT\.pptm\PersistentHandler] 
@="{4F46F75F-199F-4C63-8B7D-86D48FE7970C}" 
[HKEY_CLASSES_ROOT\.xlsm\PersistentHandler] 
@="{4887767F-7ADC-4983-B576-88FB643D6F79}" 

[HKEY_CLASSES_ROOT\.dotx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.docm\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.docx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pptm\PersistentHandler] 
@="{4F46F75F-199F-4C63-8B7D-86D48FE7970C}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pptx\PersistentHandler] 
@="{4F46F75F-199F-4C63-8B7D-86D48FE7970C}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xlsm\PersistentHandler] 
@="{4887767F-7ADC-4983-B576-88FB643D6F79}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xlsx\PersistentHandler] 
@="{4887767F-7ADC-4983-B576-88FB643D6F79}" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.dotx\PersistentHandler] 
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}" 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}] 
@="Office Open XML Format Word Persistent Handler" 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}] 
@="Office Open XML Format PowerPoint Persistent Handler" 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4887767F-7ADC-4983-B576-88FB643D6F79}] 
@="Office Open XML Format Excel Persistent Handler" 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered] 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}\PersistentAddinsRegistered] 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4887767F-7ADC-4983-B576-88FB643D6F79}\PersistentAddinsRegistered] 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}" 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4887767F-7ADC-4983-B576-88FB643D6F79}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}" 


[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}] 
@="Office Open XML Format Word Persistent Handler" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}] 
@="Office Open XML Format PowerPoint Persistent Handler" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4887767F-7ADC-4983-B576-88FB643D6F79}] 
@="Office Open XML Format Excel Persistent Handler" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered] 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}\PersistentAddinsRegistered] 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4887767F-7ADC-4983-B576-88FB643D6F79}\PersistentAddinsRegistered] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4887767F-7ADC-4983-B576-88FB643D6F79}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}" 

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{5A98B233-3C59-4B31-944C-0E560D85E6C3}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4887767F-7ADC-4983-B576-88FB643D6F79}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{5A98B233-3C59-4B31-944C-0E560D85E6C3}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}\InprocServer32] 
@="C:\\Program Files (x86)\\Common Files\\microsoft shared\\Filters\\offfiltx.dll" 
"ThreadingModel"="Both" 


[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4F46F75F-199F-4C63-8B7D-86D48FE7970C}\PersistentAddinsRegistered\{89BCB740-6119-101A-BCB7-00DD010655AF}] 
@="{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}"