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

See Also

Concepts

Application Compatibility