Redistribuir archivos de Visual C++

Nota:

¿Está buscando una descarga de uno de los archivos del runtime de Visual C++? Vaya a la página Últimas descargas compatibles de Visual C++ Redistributable.

Archivos redistribuibles y licencias

Al implementar una aplicación, también debe implementar los archivos necesarios para asistirla. Si alguno de estos archivos los proporciona Microsoft, compruebe si está permitida su redistribución. Encontrará un vínculo a los términos de licencia de Visual Studio en el IDE. Use el vínculo Términos de licencia en el cuadro de diálogo Acerca de Microsoft Visual Studio. O bien, descargue los EULA y las licencias pertinentes desde el Directorio de licencias de Visual Studio.

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

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

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

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

Para obtener más información sobre los archivos redistribuibles, consulte Determinar qué archivos DLL se redistribuirán y Ejemplos de implementación.

Localizar los archivos redistribuibles

Para implementar archivos redistribuibles, puede usar los paquetes redistribuibles instalados por Visual Studio. En las 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 con los nombres vcredist_x86.exe, vcredist_x64.exe y vcredist_arm.exe (solo 2015).

La manera más fácil de localizar los archivos redistribuibles es mediante el uso de variables de entorno establecidas en un símbolo del sistema 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, encontrará los archivos redistribuibles en la carpeta %VCINSTALLDIR%Redist\MSVC\v142. En Visual Studio 2017 y Visual Studio 2019, también se encuentran en %VCToolsRedistDir%. En Visual Studio 2015, estos archivos se pueden encontrar en %VCINSTALLDIR%redist\<locale>, donde <locale> es la configuración local de los paquetes redistribuibles.

En Visual Studio 2022 y 2019, los archivos de módulo de combinación forman parte de un componente instalable opcional denominado MSM redistribuible de la versión< de C++ > 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 instala en Visual Studio 2022, 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 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 sobre cómo usar estos paquetes, vea Tutorial: Implementar 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 se instalará. En Visual Studio 2015 o posterior, los paquetes redistribuibles muestran un mensaje de error que indica que la instalación no se pudo realizar. Si se ejecuta un paquete mediante la marca /quiet, no se mostrará ningún mensaje de error. En cualquier caso, Microsoft Installer registrará un error y devolverá un resultado de error al llamador. En Visual Studio 2015 y versiones posteriores, este error se puede evitar si se comprueba el registro para averiguar si hay 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 porque la versión redistribuible más reciente es compatible de forma binaria con las versiones anteriores a 2015. La clave es arm64, x86 o x64 según las versiones de vcredist instaladas para la plataforma. (Solo debe comprobar en la subclave Wow6432Node si usa 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 Major, Minor, Bld y los valoresRbldREG_DWORD. Para evitar un error durante 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 emergente que muestra las opciones disponibles. Puede especificar /install instalar, /repair reparar o /uninstall desinstalar redistributable. La /layout opción copia el contenido completo del redistribuible en el directorio actual. De forma predeterminada, Redistributable instala su contenido y solicita al usuario información y si se reinicia después de la instalación. Puede especificar la /passive opción , que muestra el progreso, pero de lo contrario no requiere interacción del usuario. También puede especificar una /quiet opción, que no muestra ninguna interfaz de usuario ni requiere ninguna interacción del usuario. La /norestart opción suprime los intentos de reinicio. De forma predeterminada, se crea un archivo de registro en %TEMP%. Puede usar /log filename.txt para iniciar sesión en un archivo específico.

Este comando de ejemplo instala x64 Redistributable. Muestra el progreso de la instalación, pero no requiere interacción del usuario ni 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 atender los archivos de la biblioteca en tiempo de ejecución de forma independiente. Además, una desinstalación de la aplicación no puede afectar a otras aplicaciones que también usen la implementación central. Cuando usa un paquete redistribuible para la implementación central, no es responsable del seguimiento y mantenimiento de las bibliotecas en tiempo 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. La aplicación podría ser vulnerable a errores o problemas de seguridad hasta que lo haga.

Los módulos de combinación redistribuibles deben incluirse en el paquete de Windows Installer (o en un paquete de instalación similar) que se usa para implementar la aplicación. Para obtener más información, consulte Redistribución mediante módulos de combinación. Par ver un ejemplo consulte Tutorial: Implementar 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 razones del servicio, no se recomienda usar esta ubicación para la instalación.

Posibles errores en tiempo de ejecución

Si Windows no puede encontrar una de las bibliotecas DLL redistribuibles necesarias para la aplicación, puede aparecer un mensaje similar al siguiente: "No se pudo iniciar la aplicación porque no se encontró la biblioteca.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 compile 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++.

Redistribución mediante módulos de combinación
Describe cómo usar los módulos de combinación de Visual C++ Redistributable para instalar las bibliotecas en tiempo de ejecución de Visual C++ como archivos DLL compartidos en la carpeta %windir%\system32\.

Redistribuir controles ActiveX de Visual C++
Describe cómo redistribuir una aplicación que utiliza controles ActiveX.

Redistribuir la biblioteca MFC
Describe cómo redistribuir una aplicación que utiliza MFC.

Redistribuir una aplicación ATL
Describe cómo redistribuir una aplicación que usa ATL. En Visual Studio 2012 y versiones posteriores, no se requiere ninguna biblioteca ATL.

Ejemplos de implementación
Vínculos a ejemplos que muestran cómo implementar aplicaciones de Visual C++.

Implementar aplicaciones de escritorio
Presenta los conceptos y las tecnologías de implementación de Visual C++.