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.
Importante
En Visual Studio 2019 y versiones posteriores, los módulos de combinación para archivos redistribuibles de Visual C++ están en desuso. No se recomienda usarlos para la implementación de aplicaciones. Windows Update no puede actualizar archivos redistribuibles instalados mediante módulos de combinación porque el mecanismo de detección depende de conocer los detalles del paquete.
Los paquetes redistribuibles de Visual C++ se conocen para cada versión, pero los paquetes que usan módulos de combinación se generan por el usuario. Microsoft no puede conocer los detalles de los paquetes generados por el usuario. En su lugar, se recomienda usar la implementación central del paquete Redistribuible de Visual C++. La implementación central instala los archivos redistribuibles en la carpeta Windows %SYSTEMROOT%\system32\ para su uso por parte de todas las aplicaciones y usuarios. La implementación central mediante un paquete redistribuible permite a Microsoft atender archivos de biblioteca en tiempo de ejecución de forma independiente. Una desinstalación de la aplicación no puede interrumpir otras aplicaciones que también usan la implementación central.
Cuando se usa un paquete redistribuible para la implementación central, no es responsable del seguimiento y la actualización de las bibliotecas en tiempo de ejecución como parte del mantenimiento de la aplicación. El servicio Microsoft Update actualiza estas bibliotecas automáticamente. De lo contrario, una actualización de las bibliotecas de tiempo de ejecución exige que actualice y redepliegue su instalador. Su aplicación podría ser vulnerable a errores o problemas de seguridad hasta que usted lo haga.
Visual Studio incluye merge modules (.msm files) para cada componente de Visual C++ con licencia para la redistribución con una aplicación. Hay versiones independientes de los módulos de combinación para cada plataforma de destino. Cuando se compila un módulo de combinación en un archivo de instalación del instalador de Windows, habilita la implementación de archivos redistribuibles de Visual C++ en esa plataforma específica. No se pueden incluir módulos de combinación para diferentes versiones de la misma biblioteca de vínculos dinámicos (DLL) en un instalador. En el archivo de configuración del instalador, especifique que los módulos de combinación son requisitos previos para la aplicación.
Puede usar módulos de combinación para la implementación central o la implementación local. Los usuarios no pueden instalar archivos implementados centralmente a menos que tengan derechos de administrador. La implementación local podría permitir que un no administrador instale y ejecute la aplicación, pero a costa de la capacidad de servicio independiente.
El servicio de instalación notifica un error si intenta realizar la implementación central de módulos de combinación más antiguos en bibliotecas existentes más recientes. Debe escribir la configuración del instalador para controlar este error correctamente y que no se muestre un mensaje de error. El código todavía puede implementarse y ejecutarse correctamente a pesar de este error. Para obtener más información, vea C++ compatibilidad binaria entre versiones de Visual Studio.
Si se implementa el código solo como instalador, se recomienda no incluir los módulos de combinación en el programa de instalación. En su lugar, notifique un error al usuario cuando no se encuentren las bibliotecas redistribuibles necesarias. En el cuadro de diálogo de error, incluya instrucciones sobre cómo buscar e instalar el paquete redistribuible más reciente. Para obtener más información y vínculos a paquetes redistribuibles, consulte las descargas de Visual C++ compatibles más recientes.
Los paquetes redistribuibles y los módulos de combinación más recientes son compatibles con el código creado mediante Visual Studio 2015 y versiones posteriores. El código compilado por versiones de Visual Studio antes de 2015 requiere un paquete redistribuible independiente.
Cuándo usar módulos de combinación
Los módulos de combinación solo son adecuados en circunstancias limitadas:
- No puede instalar ni requerir un paquete redistribuible independiente por motivos de directiva.
- El código requiere una versión específica compatible con errores específicos de las librerías.
- El código tiene como destino solo una plataforma y no tiene dependencias en más de una versión de los archivos DLL.
- Tiene previsto atender periódicamente el código implementado para que las bibliotecas permanezcan actualizadas.
Al usar módulos de fusión, debe mantener un seguimiento y atender regularmente la aplicación con actualizaciones de librerías. De lo contrario, eventualmente obligas a tus clientes a elegir entre ejecutar tu código o mantener su seguridad.
Dónde buscar archivos de módulo de combinación
En Visual Studio 2022 y 2019, los archivos de módulo de mezcla forman parte de un componente instalable opcional denominado C++ <version> Redistributable MSM 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 los módulos de combinación se instalan en Visual Studio 2022, puede encontrar los módulos de combinación redistribuibles de Visual C++ en %VCINSTALLDIR%Redist\MSVC\v143\MergeModules.
En la versión más reciente de Visual Studio 2019, los módulos de combinación 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. Para obtener más información y un vínculo a una lista de módulos de combinación redistribuibles, vea Redistribuir archivos de Visual C++.
Contenido relacionado
- Redistribuir archivos de Visual C++