Redistribuir la biblioteca MFC

Actualización: noviembre 2007

Si vincula dinámicamente la aplicación a la biblioteca MFC, deberá, como mínimo, redistribuir Mfc90.dll y Msvcr90.dll con los archivos de manifiesto correspondientes para los ensamblados MFC y CRT. Para obtener más información sobre los ensamblados de Visual C++ y los archivos DLL que forman parte de ellos, vea Visual C++ Libraries as Shared Side-by-Side Assemblies. Todos los archivos DLL de MFC utilizan la versión compartida de la biblioteca de tiempo de ejecución de C (CRT); por tanto, se requiere Msvcr90.dll.

No es necesario redistribuir Mfc90.dll con las aplicaciones MFC si se vinculan estáticamente a la DLL de MFC (es decir, si ha especificado Utilizar MFC en una biblioteca estática en la ficha General del cuadro de diálogo Páginas de propiedades). Aunque esto puede funcionar para probar e implementar internamente las aplicaciones, no se recomienda para redistribuir MFC. Para obtener más información sobre la solución recomendada para implementar las bibliotecas de Visual C++, vea Elegir un método de implementación.

Si su aplicación utiliza las clases MFC que implementan el control WebBrowser (por ejemplo, CHtmlView Class o CHtmlEditView Class), debe haber instalado la versión 4.0 o posterior de Microsoft Internet Explorer en el equipo de destino. Instalar la última versión de Internet Explorer también servirá para garantizar que el equipo de destino posea los archivos de control comunes más recientes. Existe información sobre cómo instalar los componentes de Internet Explorer mínimos en el artículo de Knowledge Base Q185375, HOWTO: Create a Single EXE Install of Internet Explorer.

Si la aplicación utiliza clases de base de datos de MFC, como CRecordset Class y CRecordView Class, deberá redistribuir ODBC y cualquier controlador ODBC utilizado por la aplicación. Para obtener más información, vea Redistribuir archivos de compatibilidad con bases de datos.

Si la aplicación MFC utiliza controles de formularios Windows Forms, deberá redistribuir mfcmifc90.dll con la aplicación. Esta 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é de ensamblados global (GAC) mediante Herramienta Caché de ensamblados global (Gacutil.exe).

Si redistribuye una DLL de MFC, asegúrese de redistribuir la versión comercial, y no la de depuración. Las versiones de depuración de las DLL no son redistribuibles. Las versiones de depuración de los archivos DLL de MFC tienen la letra "d" al final del nombre de archivo, como en Mfc90d.dll.

Si modifica el código fuente de MFC de alguna forma y vuelve a generar el archivo DLL de MFC, deberá cambiar el nombre del archivo DLL de MFC modificado para que no entre en conflicto con el archivo DLL de MFC de Visual Studio. No se recomienda volver a generar y cambiar el nombre del archivo DLL de MFC. Para obtener más información, vea la Nota técnica 33 de MFC.

Puede redistribuir MFC mediante módulos de combinación que se instalan con Visual Studio o implementando el ensamblado MFC en una subcarpeta de la carpeta local de la aplicación como un ensamblado privado. Para obtener más información acerca de cómo redistribuir MFC, vea Redistribuir archivos de Visual C++.

Instalación de componentes de MFC localizados

Si decide localizar el uso que hace su aplicación de los recursos de MFC instalando un archivo DLL de localización MFC90, deberá utilizar los archivos redistribuibles de MSM. Por ejemplo, si desea localizar su aplicación en un equipo x86, deberá combinar los archivos Microsoft_VC90_MFCLOC_x86.msm y policy_9_0_Microsoft_VC90_MFCLOC_x86.msm en su paquete de instalación para un equipo x86.

Además del catálogo estándar, el manifiesto y los archivos de directivas, los archivos MSM redistribuibles contienen un conjunto de 9 DLL que se utilizan para toda la localización. El proceso de instalación copiará estas DLL en la carpeta winsxs del equipo de destino.

Para obtener más información sobre cómo localizar las aplicaciones MFC, busque la Nota técnica 57 de MFC y el artículo Q208983 de Knowledge Base, "How to: Using MFC LOC DLLs", en el sitio .

Puede redistribuir los archivos DLL localizados de MFC implementando el ensamblado de MFC en la carpeta local de la aplicación como un ensamblado privado. Para obtener más información sobre cómo redistribuir las bibliotecas Visual C++ como ensamblados privados, vea Redistribuir archivos de Visual C++.

Vea también

Conceptos

Redistribuir archivos de Visual C++