Tutorial: implementación de una aplicación de Visual C++ mediante el paquete Visual C++ Redistributable
Para ejecutar aplicaciones que usan bibliotecas en tiempo de ejecución de Visual C++, la máquina de destino debe tener instalado un paquete Microsoft Visual C++ Redistributable compatible. En este artículo paso a paso se describe una manera de implementar el paquete Microsoft Visual C++ Redistributable y la aplicación Visual C++. Puede usar cualquier tecnología de instalador para implementar la aplicación. En este tutorial se usa el Asistente para IExpress para crear un instalador ejecutable autoextraíble que instala Redistributable y una aplicación.
Requisitos previos
Para completar este tutorial, debe tener estos componentes:
Un equipo con Visual Studio instalado.
Otro equipo que no tenga las bibliotecas de Visual C++.
Para usar el paquete Microsoft Visual C++ Redistributable para implementar una aplicación
Si necesita una aplicación de ejemplo que implementar, cree y compile una aplicación MFC siguiendo los pasos de Tutorial: Implementar una aplicación de Visual C++ mediante un proyecto de instalación. En este tutorial se da por supuesto que la aplicación se llama
MyMFCApp
como el ejemplo, pero puede cambiar el nombre para que coincida con la aplicación.Cree un archivo, denomínelo
setup.bat
y agréguele los comandos siguientes. Si la aplicación tiene un nombre diferente, cambieMyMFCApp
por el nombre de la aplicación. Si la aplicación tiene como destino x86, cambie "Archivos de programa" a "Archivos de programa (x86)". Quite los dos puntos iniciales (::
) para quitar la marca de comentario de la línea que instala Redistributable para la arquitectura de destino.@echo off REM Choose one of the following Redistributable files to install ::vc_redist.x86.exe REM remove leading :: to install Redistributable for x86 ::vc_redist.x64.exe REM remove leading :: to install Redistributable for x64 ::vc_redist.arm64.exe REM remove leading :: to install Redistributable for ARM64 mkdir "C:\Program Files\MyMFCApp" copy MyMFCApp.exe "C:\Program Files\MyMFCApp"
Puede aplicar opciones de línea de comandos al ejecutable redistribuible en el archivo por lotes. Para obtener más información, consulte Opciones de línea de comandos para los paquetes redistribuibles.
Cree un archivo de instalación autoextraíble:
En un símbolo del sistema o en la ventana Ejecutar, ejecute
iexpress.exe
.Seleccione Crear un nuevo archivo Self Extraction Directive y, después, haga clic en el botón Siguiente.
Seleccione Extract files and run an installation command (Extraer los archivos y ejecutar un comando de instalación) y, después, haga clic en el botón Siguiente.
En el cuadro de texto, escriba el nombre de la aplicación y, después, seleccione Siguiente.
En la página Pregunta de confirmación, seleccione No preguntar y, después, haga clic en el botón Siguiente.
En la página Contrato de licencia, seleccione Do not display a license (No mostrar una licencia) y, después, haga clic en Siguiente.
En la página Archivos del paquete, agregue los archivos siguientes y, después, haga clic en Siguiente.
La aplicación (archivo
.exe
).Redistributable para la arquitectura de destino de la aplicación. Se recomienda descargar el archivo Redistributable compatible más reciente de Microsoft para la implementación. También puede implementar el archivo Redistributable que se encuentra en la instalación de Visual Studio. En Visual Studio 2015, este archivo se denomina
vcredist_x86.exe
,vcredist_x64.exe
ovcredist_arm.exe
y se encuentra en%VCINSTALLDIR%redist\1033\
. En Visual Studio 2017 y versiones posteriores, este archivo se denominavc_redist.x86.exe
,vc_redist.x64.exe
ovc_redist.arm64.exe
y se encuentra en%VCToolsRedistDir%
.El archivo
setup.bat
que creó en el paso anterior.
En la página Install Program to Launch (Programa de instalación para iniciar), en el cuadro de texto Install Program (Programa de instalación), escriba la línea de comandos siguiente y, después, haga clic en Siguiente.
cmd.exe /c "setup.bat"
En la página Mostrar ventana, Seleccione Predeterminada y, después, haga clic en Siguiente.
En la página Finished message (Mensaje finalizado), seleccione Ningún mensaje. Elija Siguiente.
En la página Package Name and Options (Nombre y opciones del paquete), escriba un nombre para el archivo de instalación autoextraíble, seleccione la opción Store files using Long File Name inside Package (Almacenar los archivos con el nombre de archivo largo dentro del paquete) y, después, haga clic en Siguiente. El final del nombre de archivo debe ser
Setup.exe
, por ejemplo,MyMFCAppSetup.exe
.En la página Configure restart (Configurar el reinicio), seleccione Sin reinicio. Elija Siguiente.
En la página Save Self Extraction Directive (Guardar directiva de extracción automática), seleccione Save Self Extraction Directive (SED) file (Guardar archivo de directiva de extracción automática [SED]). Elija Siguiente.
En la página Crear paquete, haga clic en Siguiente. Elija Finalizar.
Pruebe el archivo de instalación autoextraíble en el otro equipo, que no tenga las bibliotecas de Visual C++:
En el otro equipo, descargue una copia del archivo de instalación. Después, ejecute el programa de instalación y siga los pasos que proporciona. En función de las opciones seleccionadas, la instalación puede requerir que acepte una solicitud de elevación de Control de cuentas de usuario o que ejecute el instalador mediante el comando Ejecutar como administrador.
Ejecutar la aplicación.
El archivo de instalación autoextraíble instala la aplicación que se encuentra en la carpeta especificada en
setup.bat
. La aplicación debería ejecutarse correctamente porque el instalador del paquete Microsoft Visual C++ Redistributable se incluye en el archivo de instalación autoextraíble.Importante
Para determinar qué versión de runtime está instalada, el instalador comprueba la clave del Registro
\HKLM\SOFTWARE\Microsoft\VisualStudio\<version>\VC\Runtimes\<platform>\Version
. (El<version>
valor usado para Visual Studio 2015, 2017, 2019 y 2022 es 14.0). Si la versión instalada actualmente es más reciente que la versión que el instalador está intentando instalar, el instalador devuelve correctamente sin instalar la versión anterior y deja una entrada adicional en la página de programas instalados en el Panel de control.