On BadImageFormatException: you're correct. There's a target CPU mix in the configuration, everything needs to be targeting "Any CPU" and not x86 or x64. Looks like rev. 54788 introduced a new "Any CPU" configuration in the solution file
which created some mess to build on a 64-bit platform. I've corrected that in the last two commits and tested on my 64-bit setup. Thanks for pointing this out, it actually produces an unusable 64-bit build.
The C++ standard committee added static_assert (see
this), which breaks the define in shared_any.h. I global replaced static_assert by
static_assert_macro to fix this problem in the thirdparty/SmartPtr library. This is a harmless change, so I committed it @ rev. 55488.
Project White is used for UI test automation. It's actually in ThirdParty/White. What's missing is not White, it's UIAutomationClient and UIAutomationTypes (you can see it in References). These don't seem to exist in the .NET Framework 2.0 client profile
in Visual Studio 2010. Changing InstallerEditorUnitTests project's target
.NET Framework to 3.5 Client Profile fixes the problem.
Then I tried converting to Visual Studio 2010, ran in the same problems as you. So here's what remains to be done manually:
- The InstallerMsi project won't convert - there's no Wix 3.0 for Visual Studio 2010. Nothing we can do about it right now short of upgrading Wix.
- Re-define WINVER = 0x0500 and _WIN32_WINNT as 0x500.
- Change InstallerEditorUnitTests project's target .NET Framework to 3.5 Client Profile.
This goes a long way, but it still doesn't link the C++ executables. You get two linker issues in CPPUNIT and TinyXML.
I think both need to be upgraded or rebuilt for it to work. You can try to look into that next.