Ho un'applicazione WPF che deve essere eseguito per tutti gli utenti di una macchina con le stesse impostazioni. Le impostazioni devono essere leggere/scrivere. Sono stato in precedenza la memorizzazione delle impostazioni di configurazione utente in CommonApplicationData, ad esempioDove devo memorizzare le impostazioni dell'applicazione a livello di macchina per utenti non di roaming?
var settingsFile = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.CommonApplicationData),
"[company]", "[product]", "settings.xml");
Tuttavia ho letto questa mattina che CommonApplicationData
viene utilizzato per i profili comuni, nel senso che non sono specifica macchina. Da quello che riesco a trovare, abbiamo le seguenti opzioni per i dati delle applicazioni (source):
// Store application-specific data for the current roaming user.
// A roaming user works on more than one computer on a network.
// A roaming user's profile is kept on a server on the network and is loaded onto a system ' when the user logs on.
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
// Store in-common application-specific data that is used by all users.
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
// Store application-specific data that is used by the current, non-roaming user.
System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Per riassumere, le opzioni sono
- utente singolo, il roaming
- Tutti gli utenti, il roaming
- utente singolo, non roaming
cosa ho bisogno è a tutti gli utenti, non roaming. Il mio pensiero iniziale è quello di buttare tutto nella cartella di installazione, ma sembra un po 'vecchia scuola?
Pensieri?
Dove hai letto che "CommonApplicationData" è in roaming? Lo trovo un po 'strano ... –
L'ho letto nel libro di Bill Wagner Effective C#. Comunque questo è l'unico posto in cui posso trovare questo bocconcino così forse è un errore raro da parte di Wagner, e sarei molto interessato a sentire se mi sbaglio su questo. –
Dalla documentazione [MSDN] (http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx): "La directory che funge da repository comune per dati specifici dell'applicazione utilizzati da tutti gli utenti. " –