Originariamente inviata da
alka
Come regola di base,
non puoi cancellare il file eseguibile in fase di esecuzione, poiché risulta (giustamente) bloccato dal sistema operativo.
Quello che potresti prevedere è l'uso di due programmi: uno di
update che viene eseguito per fare l'aggiornamento, chiudendo il programma principale, e al termine dell'aggiornamento lanciare un terzo programma di
cleanup che effettua un consolidamento eliminando l'
update e rilanciando il programma principale.
In breve, fai un po' il "gioco dei tre cappelli" evitando di incappare nella condizione tale per cui il programma tenta di eliminare se stesso durante l'esecuzione.
Ciao!