重新分发的 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) 的网站:
http://msdn2.microsoft.com/en-us/library/aa984514.aspx
有关 Windows 的详细信息通过并排的程序集,请访问下面的 Microsoft 开发人员网络 (MSDN) 的网站:
http://msdn2.microsoft.com/en-us/library/aa376307.aspx

http://msdn2.microsoft.com/en-us/library/ms235624.aspx

http://msdn2.microsoft.com/en-us/library/ms235342.aspx

属性

文章编号: 326922 - 最后修改: 2008年3月19日 - 修订: 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
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 326922
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com