Ho un'applicazione in VB .net 2005, che per memorizzare i valori delle impostazioni e delle preferenze dell'utente usa il servizio Impostazioni fornito da Visual Studio stesso (sto parlando delle Impostazioni che si modificano con My.Settings e si creano in Progetto -> Proprietà di <nomeprogetto> -> Scheda "Impostazioni" a sinistra).
Una seconda applicazione si occupa di controllare periodicamente gli aggiornamenti; se li trova, scarica automaticamente da Internet il file del nuovo eseguibile, chiude forzatamente l'applicazione principale, elimina l'eseguibile vecchio sostituendolo con quello aggiornato scaricato da Internet (NB: file vecchio e nuovo hanno lo stesso identico nome e percorso), dopodiché avvia nuovamente l'applicazione principale.
Il problema è che, ogni volta che avviene un aggiornamento, i valori delle impostazioni vengono sostituiti con i valori di default.![]()
Ad esempio, l'impostazione LarghezzaDellaFinestra ha per default il valore di 400 pixel. L'utente usa l'applicazione, attraverso un menù porta l'impostazione a 550 pixel, e tutto va bene; poi l'applicazione si aggiorna, e il valore di LarghezzaDellaFinestra ritorna ad essere 400 pixel, e l'utente è costretto a riportarla manualmente a 550 pixel.![]()
Perché avviene questa cosa? L'unico file che viene toccato è l'eseguibile, quindi - dovunque siano memorizzate - le impostazioni non dovrebbero essere cancellate.
Come posso risolvere il problema? Grazie in anticipo![]()