May be this will be a good solution: taking in account whether this is Vista/Win7 or XP and without using environment variables:
string path = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName;
if ( Environment.OSVersion.Version.Major >= 6 ) {
path = Directory.GetParent(path).ToString();
}
Though using the environment variable is much more clear.