MSVCRT向后兼容?

时间:2014-11-05 12:24:10

标签: visual-c++ msvcrt crt

让我们说DLL A作为CRT 8.0.50727.762作为依赖。此DLL用于动态链接的exe项目(/ MD)与“使用MFC”=“使用标准Windows库”。 DLL和使用DLL的项目都使用VS 2005,但项目构建机器有一个较新的CRT。因此,exe本身在其清单中依赖于8.0.50727.6195。

现在我有两个问题:

  • 我的理解是否正确CRT版本向后兼容?

  • 因此,当我部署项目并将CRT程序集版本8.0.50727.6195添加到exe的工作目录时,无论WinSXS缓存中的内容是什么,它都可以在任何客户端上运行吗?

1 个答案:

答案 0 :(得分:0)

没有。 CRT或MFC不向后兼容。您必须在客户端的计算机上安装适当的Visual C ++ Runtime,确保:

  • 版本应匹配(VC7,VC8,.. VC14等)
  • 比特应该匹配。如果您的应用程序是32位,则需要32位可再发行组件,x64也是如此。
  • Service Pack版本也必须匹配!

应该注意的是,它们都可以共存! VC10 RTM,VC10 SP2,VC10 x64 RTM ..都可以共存。