Windows 7 / Getting Started

Application Compatibility Issue

Because of the significant changes to the user profile namespace beginning with Windows Vista, particularly the new root profile folder %SystemDrive%\Users and the flattening of the profile folder hierarchy, some application compatibility issues may arise with older, third-party, and in-house developed applications. For example, if an older application developed for Windows XP has %SystemDrive%\Documents And Settings\user_name\My Documents hardcoded as the location for storing user data files created with the application, the application might fail because this path does not exist in Windows Vista and later.

To resolve these compatibility issues, a number of directory junction (DJ) points have been created within user profile folders beginning with Windows Vista. These junction points automatically cause applications trying to access older profile paths to traverse the junction and be redirected to the new profile paths used in Windows Vista and later versions. For example, a junction under %SystemDrive% named Documents And Settings points to %SystemDrive% \Users so that any older application that tries to access the nonexistent %SystemDrive% \Documents And Settings folder in Windows Vista and later versions is redirected automatically to %SystemDrive%\Users.

Junction points are super-hidden (the system and hidden attributes are set) and can be displayed by using the dir /AL command at the command prompt, where the L option displays all reparse points (junction points or symbolic links) within the current directory.

It's important to mention that directory junction (DJ) points are not designed for enumeration. This means you can't use the command dir <DJ> to list the contents under the folder to which the junction points because this results in an infinite loop. For example, %UserProfile%\AppData\Local\Application Data actually points to %UserProfile%\AppData\Local itself. To prevent this from happening, there is a Deny Read access control entry (ACE) on these DJs. Instead of enumeration, applications can access only files directly using a path that contains the DJ. For example, you can't use the command dir %UserName%\My Documents, but if you have a Example.txt file in your Documents directory, you can use Notepad %UserProfile% \My Documents\Example.txt to open the file directly.

One impact of this change is that you cannot use the traditional XCopy command to copy user profiles anymore because it doesn't handle DJs correctly. Instead, you should use the new Robocopy command (which is included in Windows Vista and later versions) because it has an /XJD option to ignore all DJs during the copy.

Windows Vista and later versions actually use two types of junction points:

  • Per-user junctions Per-user junctions are created inside user profiles to provide compatibility for older applications. The junction from %SystemDrive%\Users \user_name\My Documents to C:\Users\user_name\Documents is an example of a per-user junction created by the Profile service when the user profile is created.
  • System junctions System junctions include any other junctions created on the system that are not located within the user profile namespace for a user that has logged on to the system. The junction from %SystemDrive%\Documents And Settings to %SystemDrive%\Users is an example of a system junction created when Windows Vista and later versions are installed on the system. In addition, any junctions found in the All Users, Public, and Default User profiles are also system junctions because these profiles are never loaded.

Tables below show the various junction points implemented in Windows Vista and later versions to provide compatibility with legacy applications developed for Windows XP or Windows 2000.

Junctions Within User Profiles on Windows Vista and Later Versions
Junction Creation LocationJunction Destination
Junction for Parent Folder
Documents And SettingsUsers
Junctions for User Data Legacy Folders
Documents And Settings\ user_name\My DocumentsUsers\user_name\Documents
Documents And Settings\ user_name\My Documents\ My MusicUsers\user_name\Music
Documents And Settings\ user_name\My Documents\ My PicturesUsers\user_name\Pictures
Documents And Settings\ user_name\My Documents\ My VideosUsers\user_name\Videos
Junctions for Per User Application Data Legacy Folders
Documents And Settings\ user_name\Local SettingsUsers\user_name\AppData\Local
Documents And Settings\ user_name\Local Settings\ Application DataUsers\user_name\AppData\Local
Documents And Settings\ user_name\Local Settings\ Temporary Internet FilesUsers\user_name\AppData\Local\Microsoft\Windows\ Temporary Internet Files
Documents And Settings\ user_name\Local Settings\HistoryUsers\user_name\AppData\Local\Microsoft\Windows\ History
Documents And Settings\ user_name\Application DataUsers\user_name\AppData\Roaming
Junctions for Per-User Operating System Settings Legacy Folders
Documents And Settings\ user_name\CookiesUsers\user_name\AppData\Roaming\Microsoft\ Windows\Cookies
Documents And Settings\ user_name\RecentUsers\user_name\AppData\Roaming\Microsoft\ Windows\Recent Items
Documents And Settings\ user_name\NetHoodUsers\user_name\AppData\Roaming\Microsoft\ Windows\Network Shortcuts
Documents And Settings\ user_name\PrintHoodUsers\user_name\AppData\Roaming\Microsoft\ Windows\Printer Shortcuts
Documents And Settings\ user_name\SendToUsers\user_name\AppData\Roaming\Microsoft\ Windows\Send To
Documents And Settings\ user_name\StartMenuUsers\user_name\AppData\Roaming\Microsoft\ Windows\Start Menu
Documents And Settings\ user_name\TemplatesUsers\user_name\AppData\Roaming\Microsoft\ Windows\Templates

Junctions for Older Default User Profiles on Windows Vista and Later Versions

Junction Creation LocationJunction Destination
Documents And Settings\Default UserUsers\Default
Documents And Settings\Default User\DesktopUsers\Default\Desktop
Documents And Settings\Default User\My DocumentsUsers\Default\Documents
Documents And Settings\Default User\FavoritesUsers\Default\Favorites
Documents And Settings\Default User\My Documents\My MusicUsers\Default\Music
Documents And Settings\Default User\My Documents\My PicturesUsers\Default\Pictures
Documents And Settings\Default User\My Documents\My VideosUsers\Default\Videos
Documents And Settings\Default User\Application DataUsers\Default\AppData\Roaming
Documents And Settings\Default User\Start MenuUsers\Default\AppData\Roaming\Microsoft\ Windows\Start Menu
Documents And Settings\Default User\TemplatesUsers\Default\AppData\Roaming\Microsoft\ Windows\Templates
Program Files (Localized Name)Program Files
Program Files\Common Files (Localized Name)Program Files\Local Files

Junctions for Older All Users Folders on Windows Vista and Later Versions

Junction Creation LocationJunction Destination
Users\All UsersProgramData
ProgramData\Public DesktopUsers\Public\Public Desktop
ProgramData\Public DocumentsUsers\Public\Public Documents
ProgramData\FavoritesUsers\Public\Favorites
Users\Public\Public Documents\ Public MusicUsers\Public\Public Music
Users\Public\Public Documents\ Public PicturesUsers\Public\Public Pictures
Users\Public\Public Documents\ Public VideosUsers\Public\Public Videos
ProgramData\Application DataProgramData
ProgramData\Start MenuProgramData\Microsoft\Windows\Start Menu
ProgramData\TemplatesProgramData\Microsoft\Windows\Templates

Older Profile Folders in Which Junctions Are Not Required on Windows Vista and Later Versions

PREVIOUS LocationReason
Documents And Settings\ user_name\DesktopHandled by the junction at Documents And Settings
Documents And Settings\ user_name\FavoritesHandled by the junction at Documents And Settings
Documents And Settings\ user_name\Local Settings\TempHandled by the junction at Local Settings

Note The junction from Users\All Users to ProgramData shown in Table is actually a symbolic link and not a junction point. Symbolic links (symlinks) were introduced in Windows Vista and are not supported on previous versions of Windows. You can create symlinks, junction points, and hard links using the mklink command. For more information on new NTFS features in Windows Vista and later versions.

[Previous] [Contents] [Next]

In this tutorial:

  1. Managing Users and User Data
  2. Understanding User Profiles in Windows 7
  3. Types of User Profiles
  4. User Profile Namespace
  5. User Profile Namespace in Windows XP
  6. User Profile Namespace in Windows Vista and Windows 7
  7. Application Compatibility Issue
  8. Disabling Known Folders
  9. Windows 7 Understanding Libraries
  10. Working with Libraries
  11. Including Indexed Folders in a Library
  12. Adding Nonindexed Remote Locations to a Library
  13. Creating Additional Libraries
  14. Managing Libraries
  15. Implementing Corporate Roaming
  16. Understanding Roaming User Profiles and Folder Redirection
  17. Understanding Roaming User Profiles in Earlier Versions of Windows
  18. Understanding Folder Redirection in Earlier Versions of Windows
  19. Enhancements to Roaming User Profiles and Folder Redirection Previously Introduced in Windows Vista
  20. Additional Enhancements to Roaming User Profiles and Folder Redirection Introduced in Windows 7
  21. Improved First Logon Performance With Folder Redirection
  22. Implementing Folder Redirection
  23. Configuring the Redirection Method
  24. Configuring Target Folder Location
  25. Configuring Redirection Options
  26. Configuring Policy Removal Options
  27. Folder Redirection and Sync Center
  28. Considerations for Mixed Environments
  29. Additional Group Policy Settings for Folder Redirection
  30. Troubleshooting Folder Redirection
  31. Implementing Roaming User Profiles
  32. Creating a Default Network Profile
  33. Configuring a User Account to Use a Roaming Profile
  34. Implementing Mandatory Profiles
  35. Implementing Super-Mandatory Profiles
  36. Managing User Profiles Using Group Policy
  37. Working with Offline Files
  38. Enhancements to Offline Files Introduced Previously in Windows Vista
  39. Additional Enhancements to Offline Files Introduced in Windows 7
  40. Understanding Offline File Sync
  41. Modes of Operation in Offline Files
  42. Managing Offline Files
  43. Managing Offline Files Using Windows Explorer
  44. Managing Offline Files Using the Offline Files Control Panel
  45. Managing Offline Files Using Sync Center
  46. Configuring Offline Files on the Server
  47. Managing Offline Files Using Group Policy
  48. Offline Files Policy Settings Introduced in Windows Vista
  49. Additional Offline Files Policy Settings for Windows 7