Not exactly an answer but may help:
I got this from Experts Exchange:
After much tribulation, I found a
solution.
The root cause of the problem is
simple: the version of FAXCOMEXLib in
Vista is different than that of XP.
So, when I built the solution in
Vista, it built the Interop wrapper
around the newer version, that found
in the system32 directory, regardless
of what actual fxscomex.dll file I
referenced. So, it was always wrapping
around a version of the file
incompatible with XP.
To work around it, I built the
solution on an XP box, then stole the
Interop wrapper from that build. I
then wrote a batch file that I run
when I copy the build onto the XP box.
The batch file gets rid of the
existing Interop wrapper, replaces it
with the wrapper I stole from the XP
build, gets rid of my assembly (called
fax.dll) that references the Interop
wrapper, and recompiles it from
scratch on the XP box using the
csc.exe tool and the original fax.cs
file. In other words, I essentially
beat the files into submission until
they point to the right version of the
FAXCOMEXLib library. For clarity,
here's the batch file that converts
the Vista-compatible version of the
program to an XP-compatible version:
* del Interop.FAXCOMEXLib.dll del fax.dll ren
Interop.FAXCOMEXLib.dll.fix
Interop.FAXCOMEXLib.dll
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc"
/t:library
/r:Microsoft.Practices.EnterpriseLibrary.Common.dll
/r:Microsoft.Practices.EnterpriseLibrary.Data.dll
/r:Interop.FAXCOMEXLib.dll
/out:Fax.dll fax.cs
Not very elegent or pretty, but it
does the trick.
I would imagine that this would be an
issue with any old COM .dll on XP that
has been updated to a new version for
Vista.
Thank you cpkilekofp for taking a
look. Admin, you may close this
thread.
Hope this helps.