Come posso interrompere un'installazione InstallShield in base al risultato di un'azione personalizzata vbscript?
-
22-07-2019 - |
Domanda
Ho creato un'azione personalizzata vbscript che verifica la presenza di alcune chiavi di registro e le modifica se necessario. Nel caso in cui non fosse possibile scrivere una chiave o qualcosa del genere, è necessario interrompere l'installazione.
Per raggiungere questo obiettivo, ho impostato una proprietà che ho provato a utilizzare come condizione per il passaggio successivo all'interno della sequenza di esecuzione, ma ciò non funziona.
Ho scoperto che questo non può funzionare poiché l'azione personalizzata non può scrivere la proprietà nel momento in cui viene eseguita.
Quindi la domanda è: come posso ottenere un'interruzione dell'installazione a seconda di ciò che dice la mia azione personalizzata? Esiste un metodo per passare una "richiesta di installazione interrotta" all'Installer o qualcosa del genere?
Soluzione
Se cerchi http://community.installshield.com troverai un articolo di Robert Dickau intitolato "Uscita da un'installazione MSI da un'azione personalizzata". È al seguente link:
http://community.installshield.com/showthread.php?p=418197
Ecco lo snippet di codice che usa come esempio:
Function ExitSetupFromVBS( )
Const IDABORT = 3
' ...do some work...
' abort the installation
ExitSetupFromVBS = IDABORT
End Function
Buona fortuna.
Altri suggerimenti
Dovresti restituire 3 dalla tua funzione per un errore e 0 o 1 per il successo.
Ecco un articolo msdn sull'argomento: http : //msdn.microsoft.com/en-us/library/aa371254 (VS.85) aspx
Assicurati di mettere la tua sceneggiatura in una funzione.