tags:

views:

332

answers:

1

I have a problem whereby the Adobe PDF iFilter doesn't work consistently for us. As such, we like to use the one from Foxit. The problem is, if we install the Foxit iFilter and then later the client decides to reinstall Adobe Reader it may overwrite the Foxit iFilter.

We can use tools such as IFilter Explorer to view this but I'd like a way to do this in the application and warn the user/client that the iFilter has changed.

Is there a way to check iFilters from code (C#)? Or other potential solutions to this problem?

A: 

I would expect that IFilters are stored in the registry, therefore you could use Process Monitor to see what keys IFilter Explorer is checking.

Then check on MSDN that this is consistent with the documentation.

Then do the same thing using .NET's registry types in your application.

Based on hunting for this answer, the registration can exist at both System and User level, so you are likely going to need to enumerate multiple registry keys.

Richard