web-dev-qa-db-fra.com

Quelle est la différence entre ProgramData et AppData?

J'ai besoin de stocker des données de configuration spécifiques à l'utilisateur pour mon programme. Les données d'application/AppData (dans le répertoire de l'utilisateur) et ProgramData (à la racine du lecteur système) semblent être des endroits raisonnables pour les mettre.

Quelle est la différence entre les données de programme et les données d'application et lesquelles dois-je utiliser?

52
Ganeshja

Pour faire simple, ProgramData contient des données d'application qui ne sont pas spécifiques à l'utilisateur . Ces données seront disponibles pour tous les utilisateurs de l'ordinateur. Toutes les données globales doivent être insérées ici.

Le dossier AppData contient les paramètres de configuration, les informations/fichiers téléchargés pour un utilisateur particulier. Ainsi, par exemple, toutes les préférences spécifiques à l'utilisateur et les configurations de profil peuvent être stockées dans le dossier AppData. Le dossier AppData est divisé en trois sous-dossiers
Itinérance - Ce dossier contient des données qui peuvent se déplacer avec votre profil utilisateur d'un ordinateur à un autre.
Local - Ce dossier contient des données qui ne bougeront pas avec votre profil utilisateur.
LocalLow - Vous pouvez mettre dans ce dossier des informations d'accès de bas niveau telles que des informations relatives au navigateur Web fonctionnant en mode protégé.

Vous pouvez maintenant décider en fonction du type d'informations qui serait le meilleur endroit pour les stocker.

Liens de référence: Windows CSIDL et AppData

62
richik jaiswal

Je pense que vous devriez mettre tous les fichiers spécifiques aux utilisateurs dans appdata car il se trouve dans

C:\Users\UserName\AppData

et Programdata n'est pas spécifique à l'utilisateur. Il pourrait être utilisé, je pense, pour partager des données de votre programme lorsqu'il est utilisé par différents utilisateurs.

voir cette question stackoverflow

2
User