Cómo: Implementar un proyecto de instalación e implementación
Actualización: noviembre 2007
Este tema se centra en un tipo de proyecto de instalación e implementación. Para obtener referencia sobre este escenario de implementación, vea Escenarios de ejemplos de implementación.
Procedimientos para implementar los archivos DLL de la biblioteca de Visual C++ como ensamblados compartidos
Crear un proyecto de instalación e implementación
En el menú Archivo, haga clic en Nuevo proyecto, abra el nodo Otros tipos de proyectos, seleccione Instalación e implementación y, a continuación, haga clic en Proyecto de instalación. Proporcione un nombre y haga clic en Aceptar.
Nota: Visual C++ Express no admite proyectos de instalación. Para redistribuir las bibliotecas de Visual C++ con aplicaciones creadas con Visual C++ Express, utilice Visual C++ Redistributable Package. Para obtener más información, vea Cómo: Implementar mediante XCopy.
Agregar los archivos EXE y DLL al proyecto y especificar dónde se deben instalar en el equipo de destino
En el menú Proyecto, seleccione Agregar y haga clic en Archivo.
Busque la carpeta que contiene MyApplication.exe y MyLibrary.DLL y seleccione ambos archivos.
En la ventana Sistema de archivos, haga clic con el botón secundario en Carpeta de la aplicación, seleccione Agregar y haga clic en Crear para crear una nueva carpeta. Llámela MyLibrary.
Haga clic de nuevo en Carpeta de la aplicación, seleccione MyLibrary.DLL y arrástrelo a la carpeta MyLibrary. En el Explorador de soluciones, bajo el proyecto, en Dependencias detectadas deberá ver que Visual Studio detecta dependencias en MFC90.dll y MSVCR90.dll. Deberá agregar los módulos de combinación correspondientes a estos archivos DLL.
En el menú Proyecto, elija Agregar y haga clic en Módulo de combinación. Seleccione Microsoft_VC90_CRT_x86.msm y Microsoft_VC90_MFC_x86.msm, y haga clic en Aceptar. Para las versiones de depuración de estos módulos de combinación, seleccione Microsoft_VC90_DebugCRT_x86.msm y Microsoft_VC80_DebugMFC_x86.msm.
Nota: Compruebe que los módulos policy*.msm correspondientes están incorporados en el proyecto. Por ejemplo, policy_9_0_microsoft_vc90_crt_x86.msm y policy_9_0_microsoft_vc90_mfc_x86.msm corresponden a Microsoft_VC90_CRT_x86.msm y Microsoft_VC90_MFC_x86.msm, respectivamente. Visual Studio detectará que los módulos principales dependen de estos módulos de directiva y los mostrarán en Dependencias detectadas. Si las dependencias no se detectan automáticamente, tendrá que combinar manualmente los módulos de directiva.
Para implementar aplicaciones de 64 bits en un sistema operativo de 64 bits, seleccione el módulo de combinación de la plataforma correspondiente. Para x64, seleccione Microsoft_VC90_CRT_x86_x64.msm y Microsoft_VC90_MFC_x86_x64.msm; para Itanium, Microsoft_VC90_CRT_x86_ia64.msm y Microsoft_VC90_MFC_x86_ia64.msm.
Generar setup.exe
- Haga clic en el comando Generar solución del menú Generar.
Ejecutar setup.exe
- Ahora, si toma el archivo setup.exe que ha generado y lo ejecuta en un sistema operativo que admita el enlace basado en manifiesto entre aplicaciones y sus dependencias Windows XP Home Edition, Windows XP Professional, Windows Server 2003), sucedería lo siguiente:
Procedimientos para implementar los archivos DLL de la biblioteca de Visual C++ como ensamblados privados
Crear un proyecto de instalación e implementación
- En el menú Archivo, haga clic en Nuevo proyecto, abra el nodo Otros tipos de proyectos, seleccione Instalación e implementación y, a continuación, haga clic en Proyecto de instalación. Especifique un nombre y haga clic en Aceptar.
Agregar archivos EXE y DLL al proyecto y especificar dónde se deben instalar en el equipo de destino
En el menú Proyecto, seleccione Agregar y haga clic en Archivo.
Busque la carpeta que contiene MyApplication.exe y MyLibrary.DLL y seleccione ambos archivos.
En la ventana Sistema de archivos, haga clic con el botón secundario en Carpeta de la aplicación, seleccione Agregar y haga clic en Crear para crear una nueva carpeta. Llámela MyLibrary.
Haga clic de nuevo en Carpeta de la aplicación, seleccione MyLibrary.DLL y arrástrelo a la carpeta MyLibrary. En el Explorador de soluciones, bajo el proyecto, en Dependencias detectadas deberá ver que Visual Studio detecta dependencias en MFC90.dll y MSVCR90.dll. Deberá agregar una carpeta correspondiente para estos ensamblados a partir de la carpeta \vc\redist.
Nota: Para las versiones de depuración, utilice \vc\redist\debug_nonredist.
Abra %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86 en el Explorador de Windows.
Manteniendo presionada la tecla Ctrl, haga clic en las carpetas Microsoft.VC90.CRT y Microsoft.VC90.MFC. Arrastre estas carpetas a Visual Studio y colóquelas en la carpeta Application.
Repita el paso 6, pero esta vez arrastre las carpetas a la carpeta MyLibrary.
Podrá ver un mensaje de Visual Studio que indica que se está incluyendo un archivo DLL que forma parte de un módulo de combinación. Esto es exactamente lo que desea hacer. Por tanto, haga clic en No para indicar que no desea usar un MSM para este archivo DLL.
Necesitará mfcm90.dll y su versión Unicode, mfcm90u.dll, sólo si utiliza una integración de MFC/Winforms. En caso contrario puede quitar estos archivos DLL de su instalación.
Sólo necesitará msvcm90.dll si está utilizando código administrado en las aplicaciones; por ejemplo, si los proyectos se generan con /clr o /clr:pure.
Si mfcm90.dll, mfcm90u.dll o msvcm90.dll se incluyen en el proyecto de instalación, hará falta una instalación de .NET Framework. Su instalación no funcionará sin .NET Framework 2.0 instalado en el equipo de destino.
Para la instalación de depuración, cambie CRT a DebugCRT y MFC a DebugMFC en el paso anterior.
Para implementar aplicaciones de 64 bits en sistemas operativos de 64 bits, utilice \vc\redist\amd64 o \vc\redist\ia64.
Generar setup.exe
- Haga clic en el comando Generar solución del menú Generar.
Ejecutar setup.exe
Ahora, si toma el archivo setup.exe que ha generado y lo ejecuta en un sistema operativo que admita el enlace basado en manifiesto (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), sucedería lo siguiente:
La aplicación se instalará en la carpeta de destino especificada.
La aplicación y el archivo DLL usan los ensamblados CRT y MFC de las carpetas Microsoft.VC90.CRT y Microsoft.VC90.MFC en tiempo de ejecución.
En un sistema operativo que no admita el enlace basado en manifiestos (Windows 2000), no se recomienda este método de implementación. Si intenta implementar ensamblados de Visual Studio como ensamblados privados en estos sistemas operativos que siguen los pasos descritos anteriormente, el cargador del sistema operativo no podrá encontrar las DLL de MFC y CRT. Las carpetas que contienen Microsoft.VC90.CRT y Microsoft.VC90.MFC se deben agregar a la variable de entorno PATH para que el cargador pueda encontrarlos. Bajo este modo, ocurren las siguientes cosas:
La aplicación se instalará en la carpeta de destino especificada.
El cargador del sistema resolverá en tiempo de ejecución la ubicación de los ensamblados privados de CRT y MFC a partir de las carpetas Microsoft.VC90.CRT y Microsoft.VC90.MFC mediante la variable de entorno PATH.
Vea también
Tareas
Cómo: Implementar mediante XCopy