Domanda

Ogni volta che compilo la mia app e la versione cambiamenti numerici (Ho un incremento automatico il numero di build), perdo le impostazioni App.config configurate dall'utente, dato che sono memorizzati nella cartella AppData per una versione specifica. In sostanza, ogni uscita del mio applicazione si avvia da zero per quanto riguarda le impostazioni utente vanno.

Mentre questo è un lieve fastidio in fase di sviluppo, si pone la questione mentre mi avvicino distribuzione / release - se uso l'app.config per memorizzare le mie impostazioni utente, saranno le impostazioni personalizzate dell'utente essere hosed ogni volta che installano una patch che cambia il numero di versione di mia app? Se è così, c'è un modo semplice per "aggiornare" le impostazioni dalla versione precedente? So che l'utilizzo HKCU nel Registro di sistema è un'altra opzione, ma mi piace la facilità dello spazio dei nomi My.Settings, e mi piacerebbe restare con app.config.

Un'altra domanda SO chiede qualcosa di simile, se la risposta non sembra chiaro. Sarà la mia impostazione MSI in modo che chiede all'utente di aggiornare essere sufficiente a conservare queste impostazioni a livello di utente?

È stato utile?

Soluzione

Hai guardato ApplicationSettingsBase.Upgrade () ? Permette le impostazioni da aggiornare da una versione precedente utilizzando la seguente chiamata:

My.Settings.Upgrade()

Altri suggerimenti

Non so perché, ma né il comando di aggiornamento o la versione precedente ottenere sembra funzionare per me. Che cosa potrei fare male? Devo chiamare un comando di aggiornamento o qualcosa del genere. Sto facendo questo sul carico della forma, dovrebbe essere un evento di applicazione?

UPDATE

scoperto perché, a quanto pare non funziona quando si utilizza un numero di versione principale a 4 cifre. Stavo usando l'anno 2012 come il numero di versione. Ho cambiato che a 12 e funziona come un fascino, anche se non non è compatibile millennio. Ancora ho avuto 88 anni, prima ho bisogno di cominciare a preoccuparsi di questo!

Avete considerato distribuzione ClickOnce? Questo argomento viene poi ricoperto a fondo . IMO, ClickOnce è molto più facile sia per lo sviluppatore e l'utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top