Application Compatibility: Junction Points and Backup Applications
Junction Points and Backup Applications
In Windows Vista® and Windows Server® 2008, the default location of user data has changed. An example of this change is the Documents and Settings directory, which has been moved from %systemdrive%\Documents and Settings to %systemdrive%\Users. To enable interoperability with legacy applications, junction points are used at the deprecated locations and point to the new locations in Windows Vista and Windows Server 2008. For example, C:\Documents and Settings is now a junction point that points to C:\Users. Backup applications in Windows Vista and Windows Server 2008 must be capable of restoring junction points.
These junction points have file attributes of FILE_ATTRIBUTE_REPARSE_POINT and FILE_ATTRIBUTE_SYSTEM, and the access control lists (ACLs) must be set to "“Everyone Deny Read". Applications must have permissions in order to call out and traverse a specific path. However, enumerating the contents of these junction points is not possible.
Classes of Junction Points
There are two categories of directory junctions that can be created by profiles for application compatibility in Windows Vista and Windows Server 2008:
Per-user junctions—junctions created inside each individual user's profile to provide application compatibility for the old legacy namespace (for example, from C:\Users\<username>\My Documents to C:\Users\<username>\Documents).These junctions will be created by the Profile service when the user's profile itself is created.
System Junctions—all the other junctions created on the system and are not beneath the <username> node. This category includes junctions for Documents and Settings and junctions within the All User, Public, and Default User profiles. These junctions will be created by userenv.dll when invoked from Machine OOBE on the Windows Vista and Windows Server 2008 computer.
Parent folder junction requirements:
Directory junction creation location |
Destination |
---|---|
..\Documents and Settings\ |
..\Users\ |
User data legacy folder junction requirements:
Directory junction creation location |
Destination |
---|---|
..\Documents and Settings\<username>\My Documents |
..\Users\<username>\Documents |
..\Documents and Settings\<username>\My Documents\My Music |
..\Users\<username>\Music |
..\Documents and Settings\<username>\My Documents\My Pictures |
..\Users\<username>\Pictures |
..\Documents and Settings\<username>\My Documents\My Videos |
..\Users\<username>\Videos |
Per-user Application Data legacy folder junction requirements:
Directory junction creation location |
Destination |
---|---|
..\Documents and Settings\<username>\Local Settings\ |
..\Users\<username>\AppData\Local |
..\Documents and Settings\<username>\Local Settings\Application Data |
..\Users\<username>\AppData\Local |
..\Documents and Settings\<username>\Local Settings\Temporary Internet Files |
..\Users\<username>\AppData\Local\Microsoft\Windows\Temporary Internet Files |
..\Documents and Settings\<username>\Local Settings\History |
..\Users\<username>\AppData\Local\Microsoft\Windows\History |
..\Documents and Settings\<username>\Application Data\ |
..\Users\<username>\AppData\Roaming |
Per-user OS settings legacy folder junction requirements:
Directory junction creation location |
Destination |
---|---|
..\Documents and Settings\<username>\Cookies\ |
..\Roaming\Microsoft\Windows\Cookies |
..\Documents and Settings\<username>\Recent |
..\Roaming\Microsoft\Windows\Recent |
..\Documents and Settings\<username>\Nethood\ |
..\Roaming\Microsoft\Windows\Network Shortcuts |
..\Documents and Settings\<username>\Printhood\ |
..\Roaming\Microsoft\Windows\Printer Shortcuts |
..\Documents and Settings\<username>\SendTo\ |
..\Roaming\Microsoft\Windows\Send To |
..\Documents and Settings\<username>\StartMenu\ |
..\Roaming\Microsoft\Windows\StartMenu |
..\Documents and Settings\<username>\Templates\ |
..\Roaming\Microsoft\Windows\Templates |
Legacy profile folders where junctions are not required:
Legacy location |
Reasoning |
---|---|
..\Documents and Settings\<username>\Desktop |
Covered by the junction at Documents and Settings |
..\Documents and Settings\<username>\Favorites |
Covered by the junction at Documents and Settings |
..\Documents and Settings\<username>\Local Settings\Temp |
Covered by the junction for the Local Settings folder to Local |
All Users legacy folder junction requirements:
Sym links creation location |
Destination |
---|---|
..\Users\All Users |
..\ProgramData |
User junction points:
Directory junction creation location |
Destination |
---|---|
..\ProgramData\Desktop |
..\Users\Public\Desktop |
..\ProgramData\Documents |
..\Users\Public\Documents |
..\ProgramData\Favorites |
..\Users\Public\Favorites |
..\Users\Public\Documents\My Music |
..\Users\Public\Music |
..\Users\Public\Documents\My Pictures |
..\Users\Public\Pictures |
..\Users\Public\Documents\My Videos |
..\Users\Public\Videos |
..\ProgramData\Application Data\ |
..\ProgramData |
..\ProgramData\Start Menu\ |
..\ProgramData\Microsoft\Windows\StartMenu |
..\ProgramData\Templates\ |
..\ProgramData\Microsoft\Windows\Templates |
Default User legacy folder junction requirements:
Directory junction creation location |
Destination |
---|---|
..\Documents and Settings\Default User |
..\Users\Default |
..\Documents and Settings\Default User\Desktop |
..\Users\Default\Desktop |
..\Documents and Settings\Default User\My Documents |
..\Users\Default\Documents |
..\Documents and Settings\Default User\Favorites |
..\Users\Default\Favorites |
..\Documents and Settings\Default User\My Documents\My Music |
..\Users\Default\Music |
..\Documents and Settings\Default User\My Documents\My Pictures |
..\Users\Default\Pictures |
..\Documents and Settings\Default User\My Documents\My Videos |
..\Users\Default\Videos |
..\Documents and Settings\Default User\Application Data\ |
..\Users\Default\AppData\Roaming |
..\Documents and Settings\Default Users\Start Menu\ |
..\Users\Default\AppData\Roaming\Microsoft\Windows\StartMenu |
..\Documents and Settings\Default User\Templates\ |
..\Users\Default\AppData\Roaming\Microsoft\Windows\Templates |
Program Files junction points:
Directory junction creation location |
Destination |
---|---|
..\Program Files (Localized name) |
..\Program Files |
..\Program Files\Common Files (Localized Name) |
..\Program Files\Local Files |