Ha Microsoft ha un documento sulle migliori pratiche per quanto riguarda la conservazione dei dati App vs dati utente su diverse piattaforme Windows?
Domanda
Quando si crea un'applicazione che saranno diretti a molte versioni di Windows che cosa è la migliore pratica per determinare dove devono essere conservati i dati specifici dell'applicazione. In particolare:
- Dati applicazioni specifiche (ad esempio app dati config)
- Dati specifici per l'utente / Impostazioni
Lo so su Windows Vista per esempio ci sono variabili d'ambiente, come% appdata%, che potrebbero essere utilizzati, ma per quanto riguarda Windows 7, Windows XP, Windows 98.
La mia domanda principale è, non di Microsoft ha un migliore pratiche doc per questo, che delinea i percorsi dei file di sistema per i diversi tipi di dati (app vs dell'utente) e le implicazioni di sicurezza che devono essere tenuti a mente durante la lettura / scrittura a queste posizioni?
Sono interessato a come questo riguarda non solo le applicazioni .NET (dove ApplicationSettingsBase può essere utilizzato), ma anche anche in non gestito C / applicazioni C ++.
Grazie alla Pax e Remo per entrambe le grandi risposte. Ho trovato questo oggetto così (specifico per XP):
Soluzione
C'è una buona descrizione qui di i vari valori CSIDL e le cartelle a cui si riferiscono (compresa la descrizione che dovrebbe auspicabilmente dirti quello che c'è da sapere).
Esso contiene inoltre collegamenti alle funzioni che si dovrebbe usare per recuperare questi percorsi delle cartelle speciali.
Si noti che, come di Vista, il metodo è cambiato un po '. E 'ora utilizza KNOWNFOLDERID
invece di CSIDL
e le funzioni sono cambiate pure. Vedere qui .
È comunque possibile utilizzare le funzioni più grandi (al momento) in quanto credo che sono ora solo wrapper per quelli nuovi. Ad un certo punto nel futuro, che può cambiare.
Altri suggerimenti
Questi sono generalmente descritti in Software di Windows Logo Program (link non funzionante) . Il collegamento è quello di Windows 7 requisiti logo documento, ma documenti analoghi esiste per XP, Windows 2003, Vista e Windows 2008. I requisiti tecnici sezione troverete alcune delle informazioni che stai cercando:
Tutti i dati dell'applicazione che deve essere condivisi tra gli utenti del computer devono essere conservati all'interno
ProgramData
Tutti i dati delle applicazioni esclusive per un utente specifico e non per essere condivisa con altri utenti del computer di mosto essere memorizzati in
Users\<username>\AppData
Nelle installazioni “per computer”, l'utente dati devono essere scritti in prima esecuzione e non durante l'installazione. Questo è perché non c'è nessun utente corretto posizione per memorizzare i dati al momento della installazione.
EDIT:
di Windows 10 utenti, cercano il requisiti di certificazione per Windows Desktop Apps (sezione 10)