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.
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.
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
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