Pregunta

Mi empresa está desarrollando una aplicación que depende de otra de nuestras aplicaciones. Esa segunda aplicación ya tiene un instalador 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 adecuadamente. ¿Alguien sabe la & Quot; forma correcta & Quot; hacer esto?

Encontré esto: Inno Setup Knowledge Base & # 8212; COMO: Instalar archivos .MSI . Supongo que la técnica podría usarse para un instalador anidado de Inno Setup. Pero tengo un par de preguntas sobre los detalles finos:

  1. ¿Cómo podría hacerlo para que si la primera aplicación se desinstala, la segunda también se desinstale?
  2. ¿Es algo sensato (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 se desinstala la primera, ¿debería detectarlo de alguna manera y dar una advertencia? ¿Cómo podría hacer eso?
¿Fue útil?

Solución

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

Para responder a su tercera pregunta primero:

Sí, deberías 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). Consulte Uninstall event functions en la ayuda de Inno Setup. Debe verificar ese desinstalador si su aplicación está instalada (verificando si HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName existe, por ejemplo) y en ese caso mostrar una advertencia adicional.

En cuanto a su segunda pregunta:

Si es remotamente posible que su cliente quiera continuar usando la segunda aplicación, incluso si decide que desea desinstalar la primera, debe ofrecerle la opción. Haría esto con una página de asistente separada en el desinstalador para su aplicación, después de que su aplicación se desinstale.

Y finalmente, tu primera pregunta:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top