Sto tentando di configurare Inno Setup per il mio software (questo è un software C#). Ho intenzione di rilasciare molte versioni del mio software, vorrei cambiare l'interfaccia di installazione di inno setup se una versione precedente della mia applicazione è già installata sul computer. In questo caso, l'utente non dovrebbe essere in grado di modificare la directory di installazione.Creazione di un programma di installazione che eseguirà un aggiornamento se è già installata una versione precedente
ci sono quattro casi:
Primo caso: questa è la prima installazione del mio prodotto, Inno Setup procederà normalmente.
Secondo caso: il prodotto è già installato E l'installatore contiene una versione più recente. L'utente non può scegliere la cartella di destinazione. Può solo eseguire l'aggiornamento.
Terzo caso: se il programma di installazione contiene una versione precedente a quella installata, l'aggiornamento verrà disabilitato e verrà visualizzato un messaggio.
Quarto caso: la versione di installazione è la stessa della versione installata. L'utente può riparare la sua versione Actuel se necessario.
È possibile farlo con InnoSetup?
In realtà se si utilizza lo Script Wizard per creare lo script, il file di default per i file dell'applicazione è quello di aggiungere il flag 'ignoreversion', nel qual caso un downgrade eseguirà effettivamente il downgrade di tutti i file. Probabilmente è ancora una buona idea aggiungere un messaggio di avvertimento solo per confermare che l'utente ha davvero voluto farlo, ma altrimenti dovrebbe funzionare correttamente - assumendo che l'app stessa possa far fronte al declassamento (per esempio problemi di compatibilità dei dati). In caso contrario, è necessario aggiungere un errore anziché un avviso. – Miral
@Miral Non l'avrei notato. Grazie per il testa a testa. – Deanna
La logica di esempio per il controllo di 'InitializeSetup' sarebbe ottima ... Suppongo che ci siano già alcune definizioni inno per questo ... – Assimilater