你目前正处于脱机状态,正在等待 Internet 重新连接

重新分发的 Visual c + + 中共享的 C 运行时组件

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 326922
概要
当您生成一个应用程序,Microsoft Visual 制作室中的应用程序使用 C 运行时库 (CRT) 时分发适当的 CRT DLL,从下面的列表与您的应用程序,请执行下列操作:
  • 对于 Microsoft Visual c + + 2008 Msvcr90.dll
  • 对于 Microsoft Visual c + + 2005 Msvcr80.dll
  • 对于 Microsoft Visual c + +.net 2003 与在 Microsoft.net Framework 1.1 Msvcr71.dll
  • 对于 Microsoft Visual c + +.net 2002 与在 Microsoft.net Framework 1.0 Msvcr70.dll
Msvcr70.dll 或 Msvcr71.dll,您应该安装到您的应用程序程序文件目录的 CRT DLL。 不应将这些文件安装到 Windows 系统目录。为 Msvcr80.dll 和 Msvcr90.dll,您应安装 CRT 作为 Windows 的并行程序集。
更多信息
共享的 CRT DLL 作为共享的系统组件在过去的分发。当您运行的应用程序链接到另一版本的计算机上没有安装 CRT DLL 的正确版本的 CRT 时,这可能导致问题。这通常称为"DLL 冲突"问题。

若要解决此问题,CRT DLL 都不再被认为是一个系统文件因此、 分发与任何应用程序依赖于它的 CRT DLL。因为它不再是一个系统组件,请将其安装在您的应用程序的程序文件目录的其他特定于应用程序的代码。这样可以防止从使用其他版本的 CRT 库可能安装在系统路径上的应用程序。

visual c + +.net 2003年或 Visual c + +.net 2002年将 CRT DLL 安装在 System32 目录开发系统上。这是为了方便开发人员为安装。否则,所有生成的项目是使用 Visual c + + 链接与共享 CRT 的要求在生成目录中 DLL 的一个副本为调试和执行。visual c + + 2005年和 Visual c + + 2008年为 Windows 的并行程序集在 Windows XP 及更高版本的操作系统上安装 CRT DLL。 Windows 2000 不支持的并行程序集。在 Windows 2000 上 CRT DLL 安装在 System32 目录中。

当您发布了需要 CRT DLL 中的共享 CRT 库的应用程序时我们建议您使用 CRT.msm 合并模块而不是直接分发该 DLL 文件的 Visual c + + 中包含的。

Windows 通过并行程序集

除非 Windows 2000 上的 Windows 通过并排组件作为与 Visual c + + 2005年和使用 Visual c + + 2008 Msvcr90.dll Msvcr80.dll 便会重新分发。您应该在目标计算机上安装这些版本的 CRT,通过运行中包含的 Visual Studio Vcredist_x86.exe 应用程序。也有一些 x64 和 ia-64 平台的安装程序。或者,您可以使用与 Visual Studio 提供的 CRT msm 合并模块打包到您自己安装应用程序的 CRT 安装程序。这将使 CRT 可用作所有应用程序共享程序集,因为它安装在受支持操作系统上 \windows\winsxs 目录中。
参考
有关详细的信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 的网站:有关 Windows 的详细信息通过并排的程序集,请访问下面的 Microsoft 开发人员网络 (MSDN) 的网站:
DLL 灾难

警告:本文已自动翻译

属性

文章 ID:326922 - 上次审阅时间:03/19/2008 23:15:38 - 修订版本: 5.0

Microsoft Visual C++ 2008 Express Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 标准版

  • kbmt kbinfo KB326922 KbMtzh
反馈