I have a WPF application that is built in VS2010, but references a C++/CLI library that was built in VS2008. The C++/CLI library uses the VC90 versions of the CRT modules (MSVCM90.dll, MSVCP90.dll, MSVCR90.dll) - the project properties tells me "Use of Standard Windows libraries", "Not using ATL", and "Common Language Runtime Support (/clr)".
On my development machine it all gets built correctly; the CRT moduels are loaded from their locations in %WINDIR%/WinSxS and everyone is happy. However, when deploying to my test machine that has no development software on it the application can't appear to find these modules (based on what Dependency Walker is telling me).
I have added the necessary merge module(s) to my setup project and they are being installed in exactly the same location as my development machine. Only, they are not being found when running the application. The application just fails on startup with a "Windows is checking for a solution to the problem..." (and then quits with nothing).
What am I missing?
I also tried adding the VC++ 2010 redistributable in the setup project, and also .NET Framework 3.5 SP1 Client Profile, but they don't appear to be doing anything.
I tried running sxstrace.exe on the test machine, but I get no information other than the first section which displays that the exe is being run.