Quote Originally Posted by randem
You should use the "C:\Documents and Settings\All Users\Application Data" folder for read/write access for all users...
That's what it used to be called prior to Vista. On 32-bit Vista (at least) Microsoft installs a filesystem junction to provide that name as an alias to the real location though, so programs will still work.

Vista's Users Replaces XP's Documents and Settings

These folders don't even have to be on C:\ (never did even under XP). The safest mechanism is to use CSIDL_COMMON_APPDATA to locate the folder.

This is normally a hidden folder. You put files there that the program needs but the user is not expected to interact with.

If you want the users to be able to see and manipulate files outside of your program use CSIDL_COMMON_DOCUMENTS instead. In most cases though these would be files where the user tells your program where to put them, via something like a Save as... dialog. In theory your program should be open such dialogs with their current directory set to the CSIDL_PERSONAL location ("My Documents" now just called "Documents"). Lots of users hate this though.