PDF IFilter V6 Backgroundworker Threading issues - taking VSHost out?

266 views Asked by At

I'm currently writing a file scanning utility and am using IFilters in a WinForms application.

I moved the code that scans the files to a Backgroundworker and since I have done that the PDF IFilter application is throwing errors.

This is the error I'm getting in the event log:

Faulting application name: Scanner.vshost.exe, version: 11.0.50727.1, time stamp: 0x5011d445
Faulting module name: PDFL60.dll, version: 6.1.0.0, time stamp: 0x40bcc106
Exception code: 0xc0000005
Fault offset: 0x0000a3c5
Faulting process id: 0x1e8
Faulting application start time: 0x01ce9f4fc83fac44
Faulting application path: C:\Development\Scanner\Scanner\bin\Debug\Scanner.vshost.exe
Faulting module path: C:\Program Files\Adobe\PDF IFilter 6.0\PDFL60.dll
Report Id: 6a4c3638-0b44-11e3-bb16-082e5f03ae88

The worrying thing is that it is taking VSHost out and doesn't happen on every PDF. Some of the them are fine.

Has anyone else had this error or can anyone shed any light on what might be causing it ?

1

There are 1 answers

0
SteveB On BEST ANSWER

It seems that the latest IFilters in Adobe 8 onwards only support the stream interface used by the Search indexer in Windows. This explains why I was getting 'no interface supported' using the latest versions.

V6.0 of the IFilter becomes flaky when not used in a single threaded application as can be seen here

The first solution I came across was to use Foxit PDF IFilter which works like a charm and if I could squeeze $600 out of my client would certainly buy. I had no problems running using this IFilter.

The second and free solution was to use the Adbobe IFilter 5.0. Nearly 10 years old but implements the file interface and is stable.

Another solution might be to switch to 64 bit. V9.0 of the 64 bit filter from Adobe is working and is stable.