Pregunta

necesito para configurar una condición de inicio en mi instalador para evitar que el usuario ejecute el archivo MSI directamente, a menos que se están ejecutando una desinstalación. (Todos los demás tipos de instalación se debe ejecutar desde la aplicación de arranque para que pueda asegurarse de que todas las condiciones se cumplen.)

¿Qué condiciones a que tenga que comprobar esto? Probé REMOVE="ALL" OR BOOTSTRAP (BOOTSTRAP es una propiedad que define mis arranque de aplicaciones en la línea de comandos cuando se lance el MSI), sino que también desencadena en una instalación de reparación, lo que no quiero.

¿Fue útil?

Solución 2

Por lo que yo puedo decir, hasta el momento, no parece ser una forma de evitar que las instalaciones de reparación que se ejecuten cuando un MSI es lanzado directamente, por lo que he tenido que añadir OR REINSTALL="ALL" a mi condición de inicio. Si alguien sabe de una manera de permitir reparaciones a realizar únicamente a través del programa previo, una explicación sería muy apreciada.

Otros consejos

Personalmente voy sobre esto una manera diferente. Espero que un usuario pueda ejecutar el MSI y no el SETUP.EXE por lo duplico intencionadamente todos mis cheques Bootstrapper Prereq en el MSI utilizando AppSearch y LaunchConditions. De esta manera, si bien saltarse el programa previo, o que de alguna manera no mi MSI aún pueden encontrar el problema.

También sigue la práctica de añadir "o instalado" en mis condiciones para que un prerrequisito faltante se desinstala no obstaculiza.

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