Beh io farei così:
Creerei un database sqlite, lo riempirei di tabelle, una per versione, e una con lo storico delle versioni. Per ogni tabella con una versione si elencano i file necessari e dove andarli a trovare, e i loro hash (md5 o sha). Il database lo carichi nel sito. Il programma va modificato in modo tale che a lanciarlo sia lo stesso updater, che appena avviato scarica il database e controlla la versione del programma installato, se non è uguale all' ultima si aggiorna (hai tutti i dati necessari a tale scopo nel db) altrimenti controllo l' hash di ogni file, e se non sono coincidenti riscarichi il file. In questo modo il programma tenta di aggiornarsi ogni volta che viene avviato, non hai problemi di programma già avviato al momento dell' update, puoi contrastare la modifica illegale dei files ed anche bloccare il programma nel caso in cui il database non sia raggiungibile, quindi internet spento. Come ti sembra come soluzione?
|