Environment.GetFolderPath (... CommonApplicationData) still returns "C: \ Documents and Settings \" in Vista

As I understand it, you should use the Environment.GetFolderPath method to have OS independent code ...

Windows XP uses C:\Documents and Settings\ . Windows Vista uses C:\ProgramData and C:\Users .

I use the code below on a computer running Windows Vista and it returns the C:\Documents and Settings\ directory instead of C:\ProgramData , how should it ... Any ideas?

  string commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); try { File.CreateText( Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\mycompany\\uid"); log.Debug("Created file successfully"); } catch (Exception ex) { log.Error("Unable to create the uid file: ", ex); } 
+62
c #
May 21 '09 at 23:09
source share
4 answers

My installer copied the log.txt file that was generated on the XP computer. I looked at this log file thinking it was created on Vista. As soon as I set my log4net configuration to be "Vista compatible". Environment.GetFolderPath returned the expected results. Therefore, I am closing this post.

It may be useful to use the following link to the path along the path:

Exit to Windows Server 2003: <Preview> SpecialFolder.ApplicationData: C: \ Documents and Settings \ blake \ Application Data SpecialFolder.CommonApplicationData: C: \ Documents and Settings \ All Users \ Application Data SpecialFolder.ProgramFiles: C: \ Program Files SpecialFolder .CommonProgramFiles: C: \ Program Files \ Common Files Special Files Reference: C: \ Documents and Settings \ blake \ Desktop SpecialFolder.LocalApplicationData: C: \ Documents and Settings \ blake \ Local Settings \ Application Data SpecialFolder.MyDocuments: C: \ Documents and Settings \ blake \ My Documents SpecialFolder.System: C: \ WINDOWS \ system32`

Vista output:

 SpecialFolder.ApplicationData: C: \ Users \ blake \ AppData \ Roaming
 SpecialFolder.CommonApplicationData: C: \ ProgramData
 SpecialFolder.ProgramFiles: C: \ Program Files
 SpecialFolder.CommonProgramFiles: C: \ Program Files \ Common Files
 SpecialFolder.DesktopDirectory: C: \ Users \ blake \ Desktop
 SpecialFolder.LocalApplicationData: C: \ Users \ blake \ AppData \ Local
 SpecialFolder.MyDocuments: C: \ Users \ blake \ Documents
 SpecialFolder.System: C: \ Windows \ system32
+140
May 22, '09 at 21:51
source share

Exit to Ubuntu 9.10 -> Ubuntu 12.04 with mono 2.10.8.1:

 SpecialFolder.ApplicationData: /home/$USER/.config SpecialFolder.CommonApplicationData: /usr/share SpecialFolder.ProgramFiles: SpecialFolder.DesktopDirectory: /home/$USER/Desktop SpecialFolder.LocalApplicationData: /home/$USER/.local/share SpecialFolder.MyDocuments: /home/$USER SpecialFolder.System: SpecialFolder.Personal: /home/$USER 

Ubuntu 16.04 release with mono 4.2.1

 SpecialFolder.ApplicationData: /home/$USER/.config SpecialFolder.CommonApplicationData: /usr/share SpecialFolder.ProgramFiles: SpecialFolder.DesktopDirectory: /home/$USER/Desktop SpecialFolder.LocalApplicationData: /home/$USER/.local/share SpecialFolder.MyDocuments: /home/$USER SpecialFolder.Desktop: /home/$USER/Desktop SpecialFolder.Personal: /home/$USER SpecialFolder.System: SpecialFolder.Programs: SpecialFolder.Favorites: SpecialFolder.Startup: SpecialFolder.Recent: SpecialFolder.SendTo: SpecialFolder.StartMenu: SpecialFolder.MyMusic: /home/$USER/Music SpecialFolder.MyVideos: /home/$USER/Videos SpecialFolder.MyComputer: SpecialFolder.NetworkShortcuts: SpecialFolder.Fonts: /home/$USER/.fonts SpecialFolder.Templates: /home/$USER/Templates SpecialFolder.CommonStartMenu: SpecialFolder.CommonPrograms: SpecialFolder.CommonStartup: SpecialFolder.CommonDesktopDirectory: SpecialFolder.PrinterShortcuts: SpecialFolder.InternetCache: SpecialFolder.Cookies: SpecialFolder.History: SpecialFolder.Windows: SpecialFolder.MyPictures: /home/$USER/Pictures SpecialFolder.UserProfile: /home/$USER SpecialFolder.SystemX86: SpecialFolder.ProgramFilesX86: SpecialFolder.CommonProgramFiles: SpecialFolder.CommonProgramFilesX86: SpecialFolder.CommonTemplates: /usr/share/templates SpecialFolder.CommonDocuments: SpecialFolder.CommonAdminTools: SpecialFolder.AdminTools: SpecialFolder.CommonMusic: SpecialFolder.CommonPictures: SpecialFolder.CommonVideos: SpecialFolder.Resources: SpecialFolder.LocalizedResources: SpecialFolder.CommonOemLinks: SpecialFolder.CDBurning: 

where $ USER is the current user

Output on Android 6 using Xamarin 7.2

 Environment.SpecialFolder.ApplicationData: /data/user/0/$APPNAME/files/.config Environment.SpecialFolder.CommonApplicationData: /usr/share Environment.SpecialFolder.ProgramFiles: Environment.SpecialFolder.DesktopDirectory: /data/user/0/$APPNAME/files/Desktop Environment.SpecialFolder.LocalApplicationData: /data/user/0/$APPNAME/files/.local/share Environment.SpecialFolder.MyDocuments: /data/user/0/$APPNAME/files Environment.SpecialFolder.Desktop: /data/user/0/$APPNAME/files/Desktop Environment.SpecialFolder.Personal: /data/user/0$APPNAME/files Environment.SpecialFolder.Startup: Environment.SpecialFolder.Recent: Environment.SpecialFolder.SendTo: Environment.SpecialFolder.StartMenu: Environment.SpecialFolder.MyMusic: /data/user/0/$APPNAME/files/Music Environment.SpecialFolder.MyVideos: /data/user/0/$APPNAME/files/Videos Environment.SpecialFolder.MyComputer: Environment.SpecialFolder.NetworkShortcuts: Environment.SpecialFolder.Fonts: /data/user/0/$APPNAME/files/.fonts Environment.SpecialFolder.Templates: /data/user/0/$APPNAME/files/Templates Environment.SpecialFolder.CommonStartMenu: Environment.SpecialFolder.CommonPrograms: Environment.SpecialFolder.CommonStartup: Environment.SpecialFolder.CommonDesktopDirectory: Environment.SpecialFolder.PrinterShortcuts: Environment.SpecialFolder.InternetCache: Environment.SpecialFolder.Cookies: Environment.SpecialFolder.History: Environment.SpecialFolder.Windows: Environment.SpecialFolder.MyPictures: /data/user/0/$APPNAME/files/Pictures Environment.SpecialFolder.UserProfile: /data/user/0/$APPNAME/files Environment.SpecialFolder.SystemX86: Environment.SpecialFolder.ProgramFilesX86: Environment.SpecialFolder.CommonProgramFiles: Environment.SpecialFolder.CommonProgramFilesX86: Environment.SpecialFolder.CommonTemplates: /usr/share/templates Environment.SpecialFolder.CommonDocuments: Environment.SpecialFolder.CommonAdminTools: Environment.SpecialFolder.AdminTools: Environment.SpecialFolder.CommonMusic: Environment.SpecialFolder.CommonPictures: Environment.SpecialFolder.CommonVideos: Environment.SpecialFolder.Resources: Environment.SpecialFolder.LocalizedResources: Environment.SpecialFolder.CommonOemLinks: Environment.SpecialFolder.CDBurning: 

Where $ APPNAME is the name of your Xamarin application (e.g. MyApp.Droid)

Exit to iOS Simulator 10.3 using Xamarin 7.2

 ApplicationData: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/.config CommonApplicationData: /usr/share ProgramFiles: /Applications DesktopDirectory: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/Desktop LocalApplicationData: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents MyDocuments: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents Desktop: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/Desktop MyDocuments: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents Startup: Recent: SendTo: StartMenu: MyMusic: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/Music MyVideos: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/Videos MyComputer: NetworkShortcuts: Fonts: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/.fonts Templates: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/Templates CommonStartMenu: CommonPrograms: CommonStartup: CommonDesktopDirectory: PrinterShortcuts: InternetCache: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Library/Caches Cookies: History: Windows: MyPictures: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Documents/Pictures UserProfile: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID SystemX86: ProgramFilesX86: CommonProgramFiles: CommonProgramFilesX86: CommonTemplates: /usr/share/templates CommonDocuments: CommonAdminTools: AdminTools: CommonMusic: CommonPictures: CommonVideos: Resources: /Users/$USER/Library/Developer/CoreSimulator/Devices/$DEVICEGUID/data/Containers/Data/Application/$APPLICATIONGUID/Library LocalizedResources: CommonOemLinks: CDBurning: 

Where $ DEVICEGUID is the identifier of the simulator (depending on the selected simulator)

Exit to ipad 10.3 using Xamarin 7.2

 SpecialFolder.MyDocuments: /var/mobile/Containers/Data/Application/$APPLICATIONGUID/Documents 
+25
Jun 08 '10 at
source share

Windows 10 output

 Fonts: C:\Windows\Fonts CommonStartMenu: C:\ProgramData\Microsoft\Windows\Start Menu CommonPrograms: C:\ProgramData\Microsoft\Windows\Start Menu\Programs CommonStartup: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup CommonDesktopDirectory: C:\Users\Public\Desktop CommonApplicationData: C:\ProgramData Windows: C:\Windows System: C:\Windows\system32 ProgramFiles: C:\Program Files (x86) SystemX86: C:\Windows\SysWOW64 ProgramFilesX86: C:\Program Files (x86) CommonProgramFiles: C:\Program Files (x86)\Common Files CommonProgramFilesX86: C:\Program Files (x86)\Common Files CommonTemplates: C:\ProgramData\Microsoft\Windows\Templates CommonDocuments: C:\Users\Public\Documents CommonAdminTools: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools CommonMusic: C:\Users\Public\Music CommonPictures: C:\Users\Public\Pictures CommonVideos: C:\Users\Public\Videos Resources: C:\Windows\resources LocalizedResources: CommonOemLinks: 

Code snippet if you want to register your own

 foreach(Environment.SpecialFolder f in Enum.GetValues(typeof(Environment.SpecialFolder))) { string commonAppData = Environment.GetFolderPath(f); Console.WriteLine("{0}: {1}", f, commonAppData); } Console.ReadLine(); 
+11
Jul 20 '16 at 21:54
source share

Windows 7 Output (64-bit)

 SpecialFolder.CommonApplicationData: C:\ProgramData SpecialFolder.CommonDesktopDirectory: C:\Users\Public\Desktop SpecialFolder.CommonStartMenu: C:\ProgramData\Microsoft\Windows\Start Menu SpecialFolder.CommonPrograms: C:\ProgramData\Microsoft\Windows\Start Menu\Programs SpecialFolder.CommonProgramFiles: C:\Program Files\Common Files SpecialFolder.CommonProgramFilesX86: C:\Program Files (x86)\Common Files SpecialFolder.CommonStartup: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup SpecialFolder.ProgramFiles: C:\Program Files SpecialFolder.ProgramFilesX86: C:\Program Files (x86) SpecialFolder.System: C:\Windows\system32 SpecialFolder.SystemX86: C:\Windows\SysWOW64 

Output in Windows XP

 SpecialFolder.CommonApplicationData: C:\Documents and Settings\All Users\Application Data SpecialFolder.CommonDesktopDirectory: C:\Documents and Settings\All Users\Desktop SpecialFolder.CommonPrograms: C:\Documents and Settings\All Users\Start Menu\Programs SpecialFolder.CommonProgramFiles: C:\Program Files\Common Files SpecialFolder.CommonProgramFilesX86: SpecialFolder.CommonStartMenu: C:\Documents and Settings\All Users\Start Menu SpecialFolder.CommonStartup: C:\Documents and Settings\All Users\Start Menu\Programs\Startup SpecialFolder.ProgramFiles: C:\Program Files SpecialFolder.ProgramFilesX86: SpecialFolder.System: C:\WINDOWS\system32 SpecialFolder.SystemX86: C:\WINDOWS\system32 
+5
Oct 13 '16 at 1:39 on
source share



All Articles