Converting 32Bit COM+ Solution to 64Bit (VS2010)


Besides gazillions of things that can go wrong when converting a COM+ library written in C++ to 64Bit in Visual Studio 2010, the linker may start giving some weird "unresolved external symbol" errors for the autogenerated Proxy/Stub code.

The reason for that is, when you change the build target to Win64 for the solution, the MIDL thinks it's still generating code for the x86 platform. (yeah it's not a bug, it's a feature :))

But the workaround is easy:

Go to "Properties" screen of your COM+ application and change the "Target Environment" setting accordingly.

Edit: Just noticed this issue has been discussed here as well.

Skip to main content