Redistribuir la biblioteca MFCRedistributing the MFC Library

Si vincula dinámicamente la aplicación a la biblioteca MFC, deberá redistribuir el archivo DLL de MFC coincidente.If you dynamically link your application to the MFC library, you must redistribute the matching MFC DLL. Por ejemplo, si la aplicación MFC se compila mediante la versión de MFC que se incluye con Visual Studio 2015, deberá redistribuir mfc140.dll o mfc140u.dll, en función de si la aplicación se compila para compatibilidad con Unicode o caracteres estrechos.For example, if your MFC app is built by using the version of MFC that ships with Visual Studio 2015, you must redistribute mfc140.dll or mfc140u.dll, depending on whether your app is compiled for narrow characters or Unicode support.

Nota

Los archivos mfc140.dll Se omitieron del directorio de archivos redistribuibles en Visual Studio 2015 RTM.The mfc140.dll files were omitted from the redistributable files directory in Visual Studio 2015 RTM. En su lugar, puede usar las versiones instaladas por Visual Studio 2015 en los directorios Windows\system32 y Windows\syswow64.You can use the versions installed by Visual Studio 2015 in the Windows\system32 and Windows\syswow64 directories instead.

Como todos los archivos DLL de MFC usan la versión compartida de la biblioteca en tiempo de ejecución de C (CRT), también tendrá que redistribuir la biblioteca CRT.Because all MFC DLLs use the shared version of the C runtime library (CRT), You may also need to redistribute the CRT. En la versión de MFC que se incluye con Visual Studio 2015 se usa la biblioteca CRT universal, que se distribuye como parte de Windows 10.The version of MFC that ships with Visual Studio 2015 uses the universal CRT library, which is distributed as part of Windows 10. Para ejecutar una aplicación MFC compilada con Visual Studio 2015 en versiones anteriores de Windows, debe redistribuir la biblioteca CRT universal.To run an MFC application built by using Visual Studio 2015 on earlier versions of Windows, you must redistribute the Universal CRT. Para obtener información sobre cómo redistribuir la biblioteca CRT universal como un componente del sistema operativo o mediante la implementación local, vea Introducing the Universal CRT (Introducción a la biblioteca CRT universal).For information on how to redistribute the universal CRT as an operating system component or by using local deployment, see Introducing the Universal CRT. Para descargar el CRT universal para la implementación central en versiones compatibles de Windows, consulte Windows 10 Universal C Runtime.To download the universal CRT for central deployment on supported versions of Windows, see Windows 10 Universal C Runtime. Las versiones redistribuibles específicas de la arquitectura de ucrtbase.dll para la implementación local se encuentran en Windows SDK.Redistributable architecture-specific versions of ucrtbase.dll for local deployment are found in the Windows SDK. De forma predeterminada, Visual Studio las instala en C:\Archivos de programa (x86)\Windows Kits\10\Redist\ucrt\DLLs\ en un subdirectorio específico de la arquitectura.By default, Visual Studio installs these in C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\ in an architecture-specific sub-directory.

Si la aplicación se compila mediante una versión anterior de la biblioteca MFC, tendrá que redistribuir el archivo DLL de CRT correspondiente desde el directorio de los archivos redistribuibles.If your app is built by using an earlier version of the MFC library, you must redistribute the matching CRT DLL from the redistributable files directory. Por ejemplo, si la aplicación MFC se compila mediante el conjunto de herramientas de Visual Studio 2013 (vc120), debe redistribuir el archivo msvcr120.dll.For example, if your MFC application is built by using the Visual Studio 2013 (vc120) toolset, you must redistribute the msvcr120.dll. También tendrá que redistribuir los archivos mfc<version>u.dll o mfc<version>.dll que coincidan.You also have to redistribute the matching mfc<version>u.dll or mfc<version>.dll.

Si vincula estáticamente la aplicación a MFC (es decir, si se especifica Utilizar MFC en una biblioteca estática en la pestaña General del cuadro de diálogo Páginas de propiedades), no es necesario redistribuir un archivo DLL de MFC.If you statically link your application to MFC (that is, if you specify Use MFC in a Static Library on the General tab in the Property Pages dialog box), you do not have to redistribute an MFC DLL. Sin embargo, aunque la vinculación estática puede funcionar para probar la implementación interna de las aplicaciones, se recomienda no utilizarla para redistribuir MFC.However, although static linking may work for testing and internal deployment of applications, we recommend that you do not use it to redistribute MFC. Para obtener más información sobre las estrategias recomendadas para implementar las bibliotecas de Visual C++, vea Elegir un método de implementación.For more information about the recommended strategies for deploying Visual C++ libraries, see Choosing a Deployment Method.

Si en la aplicación se usan las clases MFC que implementan el control WebBrowser (por ejemplo, las clases CHtmlView o CHtmlEditView), se recomienda instalar también la versión más actual de Microsoft Internet Explorer, de forma que el equipo de destino tenga los archivos de control comunes más recientes.If your application uses the MFC classes that implement the WebBrowser control (for example, CHtmlView Class or CHtmlEditView Class), we recommend that you also install the most current version of Microsoft Internet Explorer so that the target computer will have the most current common control files. (Como mínimo, se requiere Internet Explorer 4.0.) La información sobre cómo instalar componentes de Internet Explorer está disponible en "Artículo 185375: Cómo crear una única instalación EXE de Internet Explorer" en el sitio web de soporte técnico de Microsoft.(At a minimum, Internet Explorer 4.0 is required.) Information about how to install Internet Explorer components is available in "Article 185375: How To Create a Single EXE Install of Internet Explorer" on the Microsoft Support website.

Si en la aplicación se usan las clases de base de datos de MFC (como por ejemplo, CRecordset y CRecordView), tendrá que redistribuir ODBC y todos los controladores ODBC que se usen en la aplicación.If your application uses the MFC database classes (for example, CRecordset Class and CRecordView Class), you must redistribute ODBC and any ODBC drivers that your application uses.

Si la aplicación MFC utiliza controles de Windows Forms, deberá redistribuir mfcmifc80.dll con la aplicación.If your MFC application uses Windows Forms controls, you must redistribute mfcmifc80.dll with your application. Este archivo DLL es un ensamblado .NET firmado y con nombre seguro que se puede redistribuir con una aplicación en la carpeta local de la aplicación o implementándolo en la caché global de ensamblados (GAC) mediante Gacutil.exe (Herramienta Caché global de ensamblados).This DLL is a strong-name-signed .NET assembly that can be redistributed with an application in its application local folder or by deploying it to the Global Assembly Cache (GAC) by using the Gacutil.exe (Global Assembly Cache Tool).

Si redistribuye una DLL de MFC, asegúrese de redistribuir la versión comercial, y no la de depuración.If you redistribute an MFC DLL, make sure to redistribute the retail version and not the debug version. Las versiones de depuración de las DLL no son redistribuibles.Debug versions of the DLLs are not redistributable. Los nombres de las versiones de depuración de los archivos DLL de MFC finalizan con una "d", por ejemplo, Mfc140d.dll.The names of debug versions of the MFC DLLs end with a "d", for example, Mfc140d.dll.

Se puede redistribuir MFC mediante VCRedist_arquitectura.exe, módulos de combinación que se instalan con Visual Studio, o bien mediante la implementación del archivo DLL de MFC en la misma carpeta que la aplicación.You can redistribute MFC by using either VCRedist_architecture.exe, merge modules that are installed with Visual Studio, or by deploying the MFC DLL to the same folder as your application. Para obtener más información sobre cómo redistribuir MFC, vea Redistribuir archivos de Visual C++.For more information about how to redistribute MFC, see Redistributing Visual C++ Files.

Instalación de componentes de MFC localizadosInstallation of Localized MFC Components

Si decide localizar la aplicación instalando una localización DLL de MFC, debe utilizar los archivos redistribuibles de combinación (.msm).If you decide to localize your application by installing an MFC localization DLL, you must use the redistributable merge files (.msm). Por ejemplo, si quiere localizar la aplicación en un equipo x86, debe combinar Microsoft_VC<version>_MFCLOC_x86.msm en el paquete de instalación para un equipo x86.For example, if you want to localize your application on an x86 computer, you must merge Microsoft_VC<version>_MFCLOC_x86.msm into the installation package for an x86 computer.

Los archivos .msm redistribuibles contienen los archivos DLL que se utilizan para la localización.The redistributable .msm files contain the DLLs that are used for localization. Hay un archivo DLL para cada lenguaje compatible.There is one DLL for each supported language. Durante el proceso de instalación se instalan estos archivos DLL en la carpeta %windir%\system32\ del equipo de destino.The installation process installs these DLLs in the %windir%\system32\ folder on the target computer.

Para obtener más información sobre cómo localizar aplicaciones MFC, vea TN057: localización de componentes de MFC.For more information about how to localize MFC applications, see TN057: Localization of MFC Components.

Puede redistribuir archivos DLL de localización de MFC si implementa el archivo DLL de MFC en la carpeta local de la aplicación.You can redistribute MFC localization DLLs by deploying the MFC DLL in your application local folder. Para obtener más información sobre cómo redistribuir bibliotecas de Visual C++, vea Redistribuir archivos de Visual C++.For more information about how to redistribute Visual C++ libraries, see Redistributing Visual C++ Files.

Consulte tambiénSee also

Redistribuir archivos de Visual C++Redistributing Visual C++ Files