views:

53

answers:

3

Where can I find a listing of what Microsoft recommends for program install directories, application data, etc? (e.g. Best Practices)

+4  A: 

There is the Environment.SpecialFolder enum.

Forgotten Semicolon
That shows how to get the directories, and reading it gives some good clues as to what should go where. But is there a "Best Practices" document somewhere that gives more explicit information?
Jim Mischel
@Jim: Thanks @Forgotten: Have any other links?
yeungling
The description of the special folders says a lot. Add this page: http://msdn.microsoft.com/en-us/library/bb762494.aspx and you have the whole picture. Still, you have to know about roaming and non-roaming user when working with (local)ApplicationData and so on, but thats another gem. :)
Stefan
+1  A: 

The comprehensive document on the subject is the "Windows User Experience", which used to be published as a book, but can now be found online in many places (such as http://www.scribd.com/doc/36857902/Windows-User-Experience)

Bob
This is a good document but it does not answer my question.
yeungling
I also found this: Windows User Experience Interaction Guidelines. http://msdn.microsoft.com/library/aa511258.aspx. I haven't yet found anything about the directories, though.
Jim Mischel
+1  A: 

Windows File System Namespace Usage Guidelines: http://www.microsoft.com/downloads/details.aspx?FamilyID=88AD7E7C-4068-48B8-9503-E160A6693BBA&displaylang=en

Download the PDF.

Most of the document is specific to Windows Vista. The last section, titled "Accessing Well Known Folder Locations," discusses the SHGetFolderPath (Windows XP and earlier) and SHGetKnownFolderPath (Windows Vista) functions, which are what the .NET Environment.GetFolderPath method relies upon.

The Environment.SpecialFolder enumeration has been greatly expanded in .NET 4.0. It includes a lot more values than the 3.5 version did.

Jim Mischel