The wonderful thing about .net is the ability to target the ‘Any’ CPU allowing your code base to run successfully on either 32 or 64 bit processors. This is a great thing when your application is completely running managed code. However where COM Interop is involved at any level this setting can be problematic. I have seen many programs fail to run because the compile setting is set to Any and the .net component actually hosts the 32 bit COM components. If any components you are using are 32 bit it is best to ensure that this value is explicitly set to x86 setting and application runs as expected.