Quels répertoires pointent les différents dossiers spéciaux D'Application dans WindowsXP et Windows Vista

À savoir j'ai:

  • Environment.SpecialFolder.ApplicationData
  • Environment.SpecialFolder.CommonApplicationData
  • Environment.SpecialFolder.LocalApplicationData

Je ne suis pas clair quant à ces points dans Windows XP et / ou Windows Vista.

Ce que j'ai trouvé jusqu'à présent, c'est que ApplicationData pointe vers le dossier ApplicationData pour L'utilisateur actuel dans XP et le dossier roaming application data dans Vista.

Je voudrais également savoir s'il existe des directives générales sur le moment d'utiliser lequel.

23
demandé sur Thorsten Lorenz 2010-03-23 18:30:06

3 réponses

Il n'y a pas de réponse unique à cela. En fait, c'est précisément Pourquoi ces "dossiers spéciaux"sont définis. Vous les utilisez au lieu d'un chemin codé en dur.

Environment.SpecialFolder.ApplicationData est le plus commun. Ce dossier contient des données spécifiques à l'application non temporaires par utilisateur, autres que les documents utilisateur. Un exemple courant serait un fichier de paramètres ou de configuration.

Environment.SpecialFolder.CommonApplicationData est similaire, mais partagés entre les utilisateurs. Vous pouvez l'utiliser pour stocker des modèles de documents, par exemple.

Environment.SpecialFolder.LocalApplicationData est un alternative non roaming pour ApplicationData. En tant que tel, vous n'y stockeriez jamais de données importantes. Cependant, parce qu'il n'est pas en itinérance, c'est un bon emplacement pour les fichiers temporaires, les caches, etc. C'est généralement sur un disque local.

27
répondu MSalters 2010-03-23 15:48:50

C'est facile à vérifier. {[1] } et utilisez MessageBox ou Console.Write et il vous montrera où il pointe aussi. Vous n'avez qu'à faire une application simple qui affiche les chemins pour vous, et l'exécuter sous Windows XP et Windows Vista.

using System;

namespace EnvironmentCheck
{
    class Program
    {
        static void Main(string[] args)
    {
        Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\n");
        Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)+ "\n");
        Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)+ "\n");
    }
}
}

Mes résultats sur Win 7 x64

C:\Users\myUsername\AppData\Roaming
C:\ProgramData
C:\Users\myUsername\AppData\Local

10
répondu MadBoy 2010-03-23 15:52:00

Pour tous ceux qui veulent savoir ce que ces dossiers spéciaux évaluent sur Windows XP mais n'ont pas XP pour l'exécuter, voici ce que je reçois en exécutant le code de @ MadBoy:

ApplicationData:

C:\Documents and Settings\YourAccountHere\Application Data

CommonApplicationData:

C:\Documents and Settings\All Users\Application Data

LocalApplicationData:

C:\Documents and Settings\YourAccountHere\Local Settings\Application Data
1
répondu Oran Dennison 2018-04-13 08:21:33