My company has a Reader X / XI plugin that worked fine when we built it with VS2005, but recently updated the project to VS2010, and now it throws a Class not registered com exception when it loads, but only on Windows XP (32 bit). Works fine on Windows 7 (64 bit).
The code that throws is loading a COM object that is a DLL in our install directory that is registered on installation of our product. The code to do the registration is identical for Win7/WinXP. The registration in the registry appears to be identical (except for paths etc) on both machines.
We create a whitelist file on install, and set the registry FeatureLockDown/bWhiteListConfig value to 1. As I said, it works fine on Win7, and the code is identical (other than correcting the paths as necessary) for WinXP. This same code worked fine when we were building with VS2005.
Here's the whitelist file contents:
; Files Section
FILES_ALLOW_ANY = C:\Program Files\<our_install_dir>\*
FILES_ALLOW_ANY = %appdata%\<our_app_dir>\*
FILES_ALLOW_ANY = C:\Documents and Settings\<user>\Local Settings\Application Data\<our_app_dir>\*
; Processes
PROCESS_ALL_EXEC = C:\Program Files\<our_install_dir>\*
PROCESS_ALL_EXEC = %appdata%\<our_app_dir>\*
PROCESS_ALL_EXEC = C:\Documents and Settings\<user>\Local Settings\Application Data\<our_app_dir>\*
; Registry
REG_ALLOW_ANY = HKEY_LOCAL_MACHINE\Software\Adobe*
; Mutants
MUTANT_ALLOW_ANY = ms*
MUTANT_ALLOW_ANY = ol*
///// the DLL name we're trying to load starts with Ta
MUTANT_ALLOW_ANY = Ta*
; Sections
SECTION_ALLOW_ANY = ms*
SECTION_ALLOW_ANY = local*
; Events Section
EVENTS_ALLOW_ANY = ms*
EVENTS_ALLOW_ANY = gl*
EVENTS_ALLOW_ANY = _fc*
; Named Pipes Section
SECTION_ALLOW_ANY = ms*
; Dirs Section
FILES_ALLOW_DIR_ANY = C:\Program Files\<our_install_dir>\*
FILES_ALLOW_DIR_ANY = %appdata%\<our_app_dir>\*
FILES_ALLOW_DIR_ANY = C:\Documents and Settings\<user>\Local Settings\Application Data\<our_app_dir>\*
Any help would be much appreciated.