Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe cómo redistribuir el componente de tiempo de ejecución de C compartido en Visual C++.
Versión original del producto: Visual Studio, .NET Framework
Número de KB original: 326922
Resumen
Al compilar una aplicación en Microsoft Visual Studio y la aplicación usa las bibliotecas en tiempo de ejecución de C (CRT), distribuya la biblioteca de vínculos dinámicos (DLL) de CRT adecuada de la siguiente lista con la 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 Microsoft .NET Framework 1.1
- Msvcr70.dll para Microsoft Visual C++ .NET 2002 con Microsoft .NET Framework 1.0
Para Msvcr70.dll o para Msvcr71.dll, debe instalar el archivo DLL de CRT en el directorio de archivos de programa de la aplicación. Es posible que no instale estos archivos en los directorios del sistema de Windows. Para Msvcr80.dll y para Msvcr90.dll, debe instalar el CRT como ensamblajes paralelos de Windows.
Conflicto de DLL
Microsoft ha distribuido el archivo DLL compartido de CRT en el pasado como un componente del sistema compartido. Puede causar problemas al ejecutar aplicaciones vinculadas a una versión diferente de CRT en equipos que no tienen instaladas las versiones correctas del archivo DLL de CRT. Normalmente se conoce como problema de conflicto de DLL.
Para solucionar este problema, el archivo DLL de CRT ya no se considera un archivo del sistema, por lo que la distribución del archivo DLL de CRT con cualquier aplicación que se base en él. Dado que 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. Lo que impide que la aplicación use otras versiones de la biblioteca de CRT que se pueden instalar en las rutas de acceso del sistema.
Visual C++ .NET 2003 o Visual C++ .NET 2002 instala el archivo DLL de CRT en el directorio System32 en un sistema de desarrollo. Se instala para la conveniencia del desarrollador. De lo contrario, todos los proyectos compilados con Visual C++ y vinculados con el CRT compartido requieren una copia del DLL en el directorio de compilación para la ejecución y depuració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.
Al distribuir aplicaciones que requieren la biblioteca de CRT compartida en el archivo DLL de CRT, se recomienda usar el módulo de combinación CRT.msm, que se incluye con Visual C++ en lugar de distribuir directamente el archivo DLL.
Ensamblajes en paralelo de Windows
Msvcr80.dll con Visual C++ 2005 y Msvcr90.dll con Visual C++ 2008 se redistribuyen como ensamblados en paralelo de Windows excepto en Windows 2000. Puede instalar estas versiones de CRT en equipos de destino ejecutando la aplicación Vcredist_x86.exe que se incluye con Visual Studio. También hay instaladores para las plataformas x64 e IA-64. En su lugar, puede usar el Módulo de Combinación MSM de CRT, que se proporciona con Visual Studio, para empaquetar el instalador de CRT en su propia aplicación de instalación. Lo que hará que el CRT esté disponible como un ensamblado compartido en todas las aplicaciones porque está instalado en el \windows\winsxs
directorio en sistemas operativos compatibles.