Redistribución del componente de en tiempo de ejecución C compartido en Visual C++

Resumen

Cuando se genera una aplicación en Microsoft Visual Studio y la aplicación utiliza las bibliotecas de tiempo de ejecución de C (CRT), distribuya el archivo DLL de CRT adecuado de la lista siguiente con su aplicación:
  • Msvcr90.dll para Microsoft Visual C++ 2008
  • Msvcr80.dll para Microsoft Visual C++ 2005
  • MSVCR71.dll para Microsoft Visual C++ .NET 2003 con la de Microsoft.NET Framework 1.1
  • Msvcr70.dll para Microsoft Visual C++ .NET 2002 con la de Microsoft.NET Framework 1.0
Para Msvcr70.dll o Msvcr71.dll, debe instalar el archivo DLL de CRT en el directorio archivos de programa de aplicación. No debe instalar estos archivos en los directorios de sistema de Windows. Para Msvcr80.dll y Msvcr90.dll, debe instalar el CRT como ensamblados en paralelo de Windows.

Más información

Microsoft ha distribuido el archivo DLL de CRT compartido en el pasado como un componente de sistema compartido. Esto puede causar problemas al ejecutar aplicaciones que están vinculadas a una versión diferente de CRT en equipos que no tienen las versiones correctas del archivo DLL de CRT instalado. Esto se conoce normalmente como el problema de "Conflicto de DLL".

Para solucionar este problema, el archivo DLL de CRT ya no se considera un archivo de sistema, por lo tanto, distribuir la DLL de CRT con cualquier aplicación que se basa en ella. Porque ya no es un componente del sistema, instálelo en el directorio archivos de programa de aplicaciones con otro código específico de la aplicación. Esto impide que su aplicación utilice otras versiones de la biblioteca CRT que pueden instalarse en las rutas de acceso del sistema.

Visual C++ .NET 2003 o Visual C++ .NET 2002 instala la DLL de CRT en el directorio System32 en un sistema de desarrollo. Se instala como una comodidad para el programador. De lo contrario, todos los proyectos creados con Visual C++ que se vinculan al CRT compartido requieren una copia de la DLL en el directorio de compilación para la depuración y ejecución. Visual C++ 2005 y Visual C++ 2008 instalan el archivo DLL de CRT como un ensamblado en paralelo de Windows en Windows XP y sistemas operativos posteriores. Windows 2000 no admite ensamblados en paralelo. En Windows 2000, el archivo DLL de CRT se instala en el directorio System32.

Cuando distribuya aplicaciones que requieran la biblioteca CRT compartida en el archivo DLL de CRT, recomendamos que utilice el módulo de combinación CRT.msm que se incluye con Visual C++ en lugar de distribuir directamente el archivo DLL.

Ensamblados en paralelo de Windows

Msvcr80.dll con Visual C++ 2005 y Msvcr90.dll con Visual C++ 2008 se distribuyen como ensamblados en paralelo de Windows excepto en Windows 2000. Debe instalar estas versiones de CRT en equipos de destino mediante la ejecución de la aplicación Vcredist_x86.exe que se incluye con Visual Studio. También hay instaladores para el x64 y plataformas IA-64. Como alternativa, puede utilizar el módulo de combinación msm de CRT que se suministra con Visual Studio para empaquetar al instalador CRT en su propia aplicación de instalación. Esto pondrá a disposición el CRT como un ensamblado compartido para todas las aplicaciones porque está instalado en el directorio \windows\winsxs en sistemas operativos compatibles.

Referencias

Para obtener más información, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):Para obtener más información acerca de los ensamblados en paralelo de Windows, visite los siguientes sitios Web de Microsoft Developer Network (MSDN):
Propiedades

Id. de artículo: 326922 - Última revisión: 17 ene. 2017 - Revisión: 2

Comentarios