Windows Installer: aggiornamenti software e hot-fix

1

Sto cercando un modo per fornire ai clienti hot-fix e patch del mio prodotto.

La patch potrebbe contenere uno o più hot-fix e il cliente dovrebbe essere in grado di selezionare / deselezionare qualsiasi hot-fix (o) da un elenco durante l'installazione dell'aggiornamento.

Ogni hot-fix può contenere operazioni come:

  • Aggiungi / Rimuovi / Sostituisci file
  • Avvia / interrompi servizio / i
  • Script SQL da eseguire
  • Elimina / scrivi / aggiorna le voci di registro
  • Aggiorna i file di configurazione

Ci sono diverse opzioni su come potrebbe essere fatto:

  • Ottieni tutti i contenuti hot fix compressi all'interno di zip e forniscili al cliente con le istruzioni appropriate su come installarlo. Questa non è un'opzione, per cui è necessario il tecnico di installazione e persino fa una pessima impressione sul prodotto.
  • Crea un programma di installazione utilizzando una tecnologia basata su Windows Installer (Wix, ad esempio). Ci vogliono anni per creare un semplice programma di installazione, richiede una conoscenza approfondita e approfondita del framework Wix, ecc.
  • Utilizza la funzione Creazione patch di Wix, che sostanzialmente confronta due MSI e ne crea uno nuovo con contenuti diversi. Sembra accettabile e promettente, ma sembra che non sia in grado di rilevare cambiamenti negli script SQL, nelle chiavi di registro, ecc.
  • Utilizza lo strumento di terze parti. Non sono riuscito a trovare uno strumento appropriato, che può semplificare il processo di creazione di hot-fix, e non ne chiederò uno, poiché so che questo sarebbe fuori tema su questo sito, ma vorrei menzionare questo opzione per completezza.
  • Scrivi un nuovo strumento che ti aiuterà a creare MSI hot-fix. Continuo a credere che esista già un approccio migliore, poiché è compito diffuso creare una patch o un hotfix.
posta Alex 11.09.2017 - 16:15
fonte

1 risposta

1

Il mio suggerimento: tu usi il tuo framework di installazione preferito (ad esempio, da quando lo hai menzionato tu stesso, Wix) per distribuire ogni file modificato sul sito dell'applicazione e includere uno "strumento di aggiornamento del server" nel pacchetto MSI (come componente opzionale, poiché non è necessario installarlo su tutti i computer su cui viene eseguita l'applicazione o può essere installato separatamente sul computer di un amministratore).

Lo strumento di aggiornamento verrà eseguito dopo l'installazione ed eseguirà le migrazioni del server DB. Le correzioni o le patch del server non possono essere eseguite "rilevando automaticamente la differenza tra i file SQL", questo non è niente che qualsiasi framework di installazione che conosco possa fare per te. Invece, in genere è necessaria una sequenza di comandi SQL che altera il database rispetto allo schema già esistente e dati . Tali comandi di migrazione sono meglio scritti manualmente e accuratamente testati prima di essere eseguiti su un db di produzione.

Le chiavi di registro e i file di configurazione locali possono essere gestiti allo stesso modo: o le modifiche sono così semplici che il programma di installazione può eseguirle automaticamente, oppure, in caso contrario, includere i passaggi di aggiornamento necessari in uno strumento separato (o, se per questo non sono necessari diritti amministrativi, includerli nel processo di avvio dell'applicazione stessa).

In questo modo, ottieni il meglio da entrambi i mondi:

  • un set di file da distribuire con un framework di installazione con una curva di apprendimento gestibile, sicuramente senza "età", come hai scritto, "per creare un semplice programma di installazione"

  • un proprio strumento scritto nel tuo linguaggio di programmazione preferito per eseguire le parti complesse dell'installazione dell'hotfix (e non uno strumento per "aiutare a costruire pacchetti MSI hot-fix", lo strumento di aggiornamento che ho suggerito non richiede Conoscenza MSI)

risposta data 11.09.2017 - 19:29
fonte

Leggi altre domande sui tag