2009-06-27 11 views
5

Mi empresa está desarrollando una aplicación que depende de otra de nuestras aplicaciones. Esa segunda aplicación ya tiene un instalador Inno Setup.Ejecutar otro instalador en una instalación de Inno Setup

Así que creo que me gustaría agrupar el instalador de la segunda aplicación dentro del instalador Inno Setup para la primera aplicación. Pero no estoy seguro de cómo hacerlo correctamente. ¿Alguien sabe la "forma correcta" de hacer esto?

He encontrado esto: Inno Setup Knowledge Base—HOWTO: Install .MSI files. Supongo que la técnica podría usarse para un instalador de instalación de Inno anidado. Pero tengo un par de preguntas acerca de los detalles finos:

  1. ¿Cómo podría hacerlo por lo que si se desinstala la primera aplicación, la segunda también se desinstala?
  2. ¿Es sensato hacerlo (desinstalar automáticamente la segunda aplicación) o debería dejar que el usuario lo haga manualmente?
  3. Si el usuario intenta desinstalar la segunda aplicación mientras la primera está desinstalada, ¿debería detectarlo de alguna manera y dar una advertencia? ¿Cómo podría hacer eso?

Respuesta

2

Para el nivel de funcionalidad del desinstalador de que se trata, le sugiero que se familiarice con las secuencias de comandos pascal en Inno Setup (si no lo está). Ofrece una personalización increíble, pero tiene la salvedad de hacer que sus proyectos sean mucho más complejos.

para responder a su tercera pregunta primero:

Sí, usted debe hacer esto. Para hacerlo correctamente, debe agregar esta funcionalidad al desinstalador de la segunda aplicación (es decir, de la que depende su aplicación). Ver Uninstall event functions en la ayuda de Inno Setup. Debe verificar el desinstalador si su aplicación está instalada (verificando si existe HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName, por ejemplo) y en ese caso mostrar una advertencia adicional.

En cuanto a su segunda pregunta:

Si es remotamente posible que su cliente desea seguir usando la segunda aplicación, incluso si él decide que quiere desinstalar el primero, usted debe ofrecer él la elección. Haría esto con una página de asistente separada en el desinstalador de su aplicación, después de desinstalarla.

Y, por último, su primera pregunta:

Es necesario determinar el nombre (ruta completa) de de la otra aplicación desinstalador exe. Puede recuperarlo desde la clave de registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName\UninstallString. Para ejecutarlo desde una secuencia de comandos en la sección [CÓDIGO], consulte Exec en la Ayuda de Inno Setup.

+1

¡Comparta el código! – tmighty

Cuestiones relacionadas