Domanda

Ho bisogno di creare una condizione di avvio nel mio programma di installazione per impedire all'utente di eseguire direttamente il file MSI a meno che non siano in esecuzione una disinstallazione. (Tutti gli altri tipi di installazione devono essere eseguiti da App bootstrap in modo che possa fare in modo che tutte le precondizioni sono soddisfatte.)

Quali sono le condizioni per ho bisogno di verificare la presenza di questo? Ho provato REMOVE="ALL" OR BOOTSTRAP (BOOTSTRAP è una proprietà che i miei bootstrap definisce app sulla riga di comando quando si lancia il MSI), ma che anche i trigger su un'installazione di riparazione, che io non voglio.

È stato utile?

Soluzione 2

Per quanto ne so, finora, non sembra essere un modo per evitare di riparazione installazioni da poter essere eseguiti quando un MSI viene lanciato direttamente, così ho dovuto aggiungere OR REINSTALL="ALL" alla mia condizione di avvio. Se qualcuno sa di un modo per consentire riparazioni da fare solo tramite il programma di avvio automatico, una spiegazione sarebbe molto apprezzato.

Altri suggerimenti

Personalmente vado circa questo un modo diverso. Mi aspetto che un utente potrebbe eseguire il MSI e non il SETUP.EXE così ho volutamente duplicare tutti i miei controlli programma di avvio automatico Prereq nel MSI utilizzando AppSearch e LaunchConditions. In questo modo se essi o saltare il programma di avvio automatico o non riesce in qualche modo il mio MSI può ancora prendere il problema.

Ho anche seguire la pratica di aggiungere "o installato" a mie condizioni in modo che un prereq mancanti disinstallazioni non ostacolare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top