File Virtualization
File virtualization addresses the situation where an application relies on the ability to store a file (like a configuration file) in a system-wide location. This works well when the user is a member of the administrators group, but fails when the same program is launched from a limited user account (or an account protected by UAC). When the application writes to a system location (like \Program Files\...), Windows redirects it to a user-specific path under the \Virtual Store\... directory. Later, when the application reads back this file, the system will provide the one in the Virtual Store. As far as the application is concerned, it was able to successfully read and write directly to Program Files.
Example:
Suppose User A is running under a limited user account and uses Notepad to save a text file to \Program Files\foo.txt. Virtualization would allow this file to be saved successfully. What occurs is the write is redirected to \Virtual Store\(The User's account security identifier (-SID)\Program Files\foo.txt. Looking in the \Program Files\ directory with Windows Explorer, User A will see the file foo.txt, since Windows Explorer properly shows the user's virtualized files. However, after logging in, User B will NOT see the file foo.txt in the \Program Files\ directory. If User B then writes the \Program files\foo.txt file, that write will also virtualize to User B's virtual store. The files User A writes remain independent of the file User B writes.