我有一个内置于 VS2010 的 WPF 应用程序,但引用了一个内置于 VS2008 的 C++/CLI 库。C++/CLI 库使用 VC90 版本的 CRT 模块(MSVCM90.dll、MSVCP90.dll、MSVCR90.dll) - 项目属性告诉我“使用标准 Windows 库”、“不使用 ATL”和“通用语言”运行时支持 (/clr)”。
在我的开发机器上,一切都正确构建;CRT 模块是从它们在 %WINDIR%/WinSxS 中的位置加载的,每个人都很高兴。但是,当部署到我的没有开发软件的测试机器上时,应用程序似乎找不到这些模块(基于 Dependency Walker 告诉我的内容)。
我已将必要的合并模块添加到我的设置项目中,并且它们安装在与我的开发机器完全相同的位置。只是,在运行应用程序时找不到它们。该应用程序只是在启动时失败,并显示“Windows 正在检查问题的解决方案......”(然后什么也没有退出)。
我错过了什么?
我还尝试在安装项目中添加 VC++ 2010 可再发行组件,以及 .NET Framework 3.5 SP1 客户端配置文件,但它们似乎没有做任何事情。
我尝试在测试机器上运行 sxstrace.exe,但除了显示 exe 正在运行的第一部分之外,我没有得到任何信息。