Est-ce que Microsoft a un document sur les meilleures pratiques en ce qui concerne le stockage de données App vs données de l'utilisateur sur différentes plates-formes Windows?

StackOverflow https://stackoverflow.com/questions/1507923

  •  19-09-2019
  •  | 
  •  

Question

Lors de la création d'une application qui ciblera les nombreuses versions de Windows ce qui est la meilleure pratique pour déterminer l'emplacement de stockage des données spécifiques à l'application. Plus précisément:

  • Application des données spécifiques (par exemple l'application des données de configuration)
  • Données d'utilisateur spécifique / Paramètres

Je sais que sous Windows Vista, par exemple, il y a des variables d'environnement, comme% APPDATA%, qui pourraient être utilisés, mais que sur Windows 7, Windows XP, Windows 98.

Ma principale question est-ce que Microsoft a une des meilleures pratiques doc pour cela, décrivant les emplacements du système de fichiers pour les différents types de données (app contre utilisateur) et les implications de sécurité qui doivent garder à l'esprit lors de la lecture / écriture à ces endroits?

Je suis aussi intéressé par la façon dont cela se rapporte non seulement pour les applications .NET (où ApplicationSettingsBase peut être utilisé), mais aussi dans non géré C / applications C +.

Merci à Pax et Remus pour les deux grandes réponses. Je l'ai trouvé ce produit aussi bien (spécifique à XP):

Comment écrire une application Windows XP qui stocke les données de l'utilisateur et de l'application dans l'emplacement correct à l'aide de Visual C ++

Était-ce utile?

La solution

Il y a une bonne description de les différentes valeurs CSIDL et les dossiers se réfèrent à (y compris une description qui devrait, espérons-vous dire ce que vous devez savoir).

Il contient également des liens vers les fonctions que vous devez utiliser pour récupérer ces chemins de dossier spécial.

Notez que, comme de Vista, la méthode a changé un peu. Il utilise maintenant KNOWNFOLDERID au lieu de CSIDL et les fonctions ont changé. Voir .

Vous pouvez toujours utiliser les anciennes fonctions (en ce moment) car je crois qu'ils sont maintenant que des emballages autour des nouveaux. À un certain moment dans l'avenir, cela pourrait changer.

Autres conseils

Ils sont généralement décrits dans la section Logiciel Windows Logo Program (lien cassé) . Le lien est le document sur les exigences du logo Windows 7, mais les documents similaires existent pour XP, Windows 2003, Vista et Windows 2008. Dans les exigences techniques section, vous trouverez quelques-unes des informations que vous cherchez:

  

Toutes les données d'application qui doit être   partagé entre les utilisateurs sur l'ordinateur   doivent être stockés dans ProgramData

     

Toutes les données de l'application exclusive à un   utilisateur spécifique et non à partager   avec d'autres utilisateurs de l'ordinateur doit   stocker dans   Users\<username>\AppData

     

Dans les installations « par machine », l'utilisateur   les données doivent être écrites au premier terme et   pas lors de l'installation. C'est   parce qu'il n'y a pas d'utilisateur correct   emplacement pour stocker des données au moment de la   installation.

EDIT:

de Windows 10 utilisateurs, recherchez le Les exigences de certification pour Windows Desktop Apps (Section 10)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top