Redistribuir archivos de Visual C++

Nota:

¿Estás aquí porque estás buscando descargar uno de los archivos de tiempo de ejecución de Visual C++? Ve a la última página de descargas soportadas de Visual C++ Redistributable.

Archivos redistribuibles y licencias

La distribución del paquete redistribuible en tiempo de ejecución de Visual C++, los módulos de combinación y los archivos binarios individuales se limita a los usuarios con licencia Visual Studio y está sujeto a Términos de licencia del software de Microsoft.

Al implementar una aplicación, también debe implementar archivos necesarios para soportarla. Si Microsoft proporciona cualquiera de estos archivos, compruebe si tiene permiso para redistribuirlos. Puede encontrar un vínculo a los términos de licencia de Visual Studio en el IDE. En el cuadro de diálogo About Microsoft Visual Studio, seleccione el vínculo License Terms. También puede descargar los Términos de licencia del software de Microsoft y las licencias pertinentes desde el directorio Visual Studio License.

Para ver la "lista REDIST" a la que se hace referencia en la sección "Código distribuible" de la Visual Studio 2022 Términos de licencia del software de Microsoft, consulte Archivos de código distribuibles para Microsoft Visual Studio 2022.

Para ver la "lista REDIST" a la que se hace referencia en la sección "Código distribuible" de la Términos de licencia del software de Microsoft de Visual Studio 2019, consulte Archivos de código distribuibles para Microsoft Visual Studio 2019.

Para ver la "lista REDIST" a la que se hace referencia en la sección "Código distribuible" del Términos de licencia del software de Microsoft de Visual Studio 2017, consulte Archivos de código distribuibles para Microsoft Visual Studio 2017.

Para ver la "lista REDIST" a la que se hace referencia en la sección "Código distribuible" de la Visual Studio 2015 Términos de licencia del software de Microsoft, vea Archivos de código distribuibles para Microsoft Visual Studio 2015.

Para obtener más información sobre los archivos redistribuibles, consulte Determinar qué bibliotecas de vínculos dinámicos (DLL) redistribuir y Ejemplos de implementación.

Localizar los archivos redistribuibles

Para implementar archivos redistribuibles, puede usar los paquetes redistribuibles instalados por Visual Studio. En versiones de Visual Studio desde 2017, estos archivos se denominan vc_redist.arm64.exe, vc_redist.x64.exe y vc_redist.x86.exe. En Visual Studio 2015, 2017 y 2019, también están disponibles en los nombres vcredist_x86.exe, vcredist_x64.exe y (solo 2015) vcredist_arm.exe.

La manera más fácil de localizar los archivos redistribuibles es utilizando variables de entorno establecidas en una ventana de comandos para desarrolladores. En Visual Studio 2022, los archivos redistribuibles se encuentran en la carpeta %VCINSTALLDIR%Redist\MSVC\v143. En la versión más reciente de Visual Studio 2019, puede encontrar los archivos redistribuibles en la carpeta %VCINSTALLDIR%Redist\MSVC\v142. En Visual Studio 2017 y Visual Studio 2019, los archivos también se encuentran en %VCToolsRedistDir%. En Visual Studio 2015, puede encontrar estos archivos en %VCINSTALLDIR%redist\<locale>, donde <locale> es la configuración regional de los paquetes redistribuibles.

En Visual Studio 2022 y 2019, los archivos de módulo de mezcla forman parte de un componente instalable opcional denominado Visual C++ <version> Módulos de mezcla redistribuibles en el instalador de Visual Studio. Los módulos de combinación se instalan de forma predeterminada como parte de una instalación de C++ en Visual Studio 2017 y Visual Studio 2015. Cuando se instalan en Visual Studio 2022, puede encontrar los módulos de combinación redistribuibles en %VCINSTALLDIR%Redist\MSVC\v143\MergeModules.

En la versión más reciente de Visual Studio 2019, los módulos de combinación redistribuibles se encuentran en %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. En ambos Visual Studio 2019 y Visual Studio 2017, también se encuentran en %VCToolsRedistDir%MergeModules. En Visual Studio 2015, se encuentran en Program Files [(x86)]\Common Files\Merge Modules.

Instalación de los paquetes redistribuibles

Los paquetes redistribuibles de Visual C++ instalan y registran todas las bibliotecas de Visual C++. Si usa uno, ejecútelo como requisito previo en el sistema de destino antes de instalar la aplicación. Se recomienda usar estos paquetes para las implementaciones, ya que habilitan la actualización automática de las bibliotecas de Visual C++. Para obtener un ejemplo que muestra cómo usar estos paquetes, vea Tutorial: Implementación de una aplicación de Visual C++ mediante el paquete Redistribuible de Visual C++.

Cada paquete de Visual C++ Redistributable comprueba si existe una versión más reciente en el equipo. Si se encuentra una versión más reciente, el paquete no está instalado. En Visual Studio 2015 o posterior, los paquetes redistribuibles muestran un mensaje de error que indica que se produjo un error en la configuración. Si un paquete usa la /quiet marca para ejecutarse, no aparece ningún mensaje de error. En cualquier caso, el instalador de Microsoft registra el error y se devuelve un resultado de error al autor de la llamada.

En Visual Studio 2015 y versiones posteriores, puede evitar este error comprobando el registro para averiguar si está instalada una versión más reciente. El número de versión instalado actual se almacena en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}.

El número de versión es 14.0 para Visual Studio 2015, 2017, 2019 y 2022, ya que la versión más reciente de Redistributable es binaria compatible con versiones anteriores de nuevo a 2015. La clave es arm64, x86o x64 dependiendo de las versiones instaladas vcredist para la plataforma. (Solo tienes que comprobar bajo la Wow6432Node subclave si usas Regedit para ver la versión del paquete x86 instalado en una plataforma x64.)

El número de versión se almacena en el valor de cadena REG_SZVersion y también en el conjunto de valores Major, Minor, Bld y RbldREG_DWORD. Para evitar un error en el momento de la instalación, debe omitir la instalación del paquete redistribuible si la versión instalada actualmente es más reciente.

Opciones de línea de comandos para los paquetes redistribuibles

Visual C++ Redistributable admite varias opciones de línea de comandos. Las /?opciones , /ho /help muestran un cuadro de diálogo que muestra las opciones disponibles. Puede especificar /install la instalación, /repair la reparación o /uninstall la desinstalación de Redistributable. La opción /layout copia el contenido completo del Redistributable en el directorio actual.

De forma predeterminada, el Redistributable instala su contenido y solicita al usuario información y si desea reiniciar después de la instalación. Puede modificar este comportamiento con las siguientes opciones:

  • /passive: muestra una barra de progreso mientras se instala Redistributable pero no requiere interacción del usuario en otro modo.
  • /quiet: no muestra una interfaz de usuario ni requiere ninguna interacción del usuario. Se usa /quiet para instalaciones completamente desatendidas.
  • /norestart: suprime los intentos de reinicio. De forma predeterminada, se crea un archivo de registro en %TEMP%.
  • /log filename.txt para iniciar sesión en un archivo específico.

Si no estás ejecutando desde un símbolo elevado, tendrás que responder a un prompt de Control de Cuenta de Usuario para permitir que el instalador funcione con privilegios administrativos.

Este comando de ejemplo instala x64 Redistributable. Muestra el progreso de la instalación, pero no requiere interacción del usuario aparte de un reinicio:

vc_redist.x64.exe /install /passive /norestart

Instalación de los módulos de combinación redistribuibles

Importante

Los módulos de combinación (archivos .msm) para los archivos Visual C++ Redistributable están en desuso. No se recomienda usarlos para la implementación de aplicaciones. En su lugar, se recomienda la implementación central del paquete de Visual C++ Redistributable. La implementación central mediante un paquete redistribuible permite a Microsoft dar servicio a los archivos de bibliotecas de tiempo de ejecución de forma independiente. Una desinstalación de la aplicación no puede afectar a otras aplicaciones que también usan la implementación central.

Cuando usted utiliza un paquete redistribuible para la implementación central, no es responsable de seguir y mantener las bibliotecas de ejecución. De lo contrario, una actualización de los archivos de biblioteca en tiempo de ejecución requiere que actualice y vuelva a implementar el instalador .msi. Su aplicación podría ser vulnerable a errores o problemas de seguridad hasta que usted lo haga.

Los módulos de combinación redistribuibles deben incluirse en el paquete del instalador de Windows (o paquete de instalación similar) que se usa para implementar la aplicación. Para obtener más información, consulte Redistribuir mediante módulos de combinación. Para obtener un ejemplo, vea Tutorial: Implementación de una aplicación de Visual C++ mediante un proyecto de instalación.

Instalación de archivos redistribuibles individuales

También es posible instalar directamente los archivos DLL redistribuibles en la carpeta local de la aplicación. La carpeta local de la aplicación es la carpeta que contiene el archivo de aplicación ejecutable. Por motivos de mantenimiento, no se recomienda usar esta ubicación de instalación.

Posibles errores en tiempo de ejecución

Si Windows no encuentra uno de los archivos DLL redistribuibles requeridos por la aplicación, podría mostrar un mensaje similar al siguiente: "No se pudo iniciar esta aplicación porque no se encontró library.dll. Si vuelve a instalar la aplicación, puede que se corrijan los problemas".

Para resolver este tipo de error, asegúrese de que el instalador de la aplicación se compila correctamente. Compruebe que las bibliotecas redistribuibles se implementan correctamente en el sistema de destino. Para obtener más información, vea Descripción de las dependencias de una aplicación de Visual C++.