One of the new feature in Windows Vista or later versions of Windows OS is User Access Control (see how to disable UAC) which provides a protected or locked-down user environment that requires user permission before allowing any action that requires administrative privileges, including attempt to change or write to protected areas such as %SystemRoot% or %ProgramFiles%.

The security feature creates problem for older and not fully UAC-compatible applications, and still assume that a user will be running with administrator credentials. These programs such as eMule 0.47c or older, Videora iPod Converter (VideoraiPodConverter), or even well known software such as FileZilla and etc break when running in limited standard user mode because of attempt to write to restricted areas such as registries (notably HKLM), Windows directory or more commonly Program Files directory that the standard user does not have access to.

To provide application compatibility within managed desktop environments, Windows redirects the writes and subsequent reads to a per-user virtual store located within the user’s profile using a feature called File and Registry Virtualization. The bypass feature “tricking” the applications into thinking they are still running with full administrative privileges, and that they’re writing files in its application folder under Program Files folder.

For example, in eMule, by default the Incoming files and Temporary files directories will be placed in “C:\Program Files\eMule\Incoming” and “C:\Program Files\eMule\Temp” folders. If you use eMule version 0.47c or earlier and doesn’t follow these procedures, when downloading, eMule doesn’t have permissions to write to these folders, the write will get redirected to C:\Users\<username>\AppData\Local\VirtualStore\Program Files\<app name>\ (for 32-bit OS) or C:\Users\<username>\AppData\Local\VirtualStore\Program Files (x86)\<app name>\ (for 64-bit OS), with username as currently logged on user ID, and app name as the name of the folder which program or application is installed. Inside the app name folder, it will follow the directory structure as in Program Files’ directory.

Users can look for the new files downloaded or created in the VirtualStore directory, which is hidden by default. It’s of course very troublesome to traverse so many layer of directories. To make it find these redirected files, simply press the Compatibility Files button on Windows Explorer or any Explorer Shell Window. Note that the Compatibility Files button will only appear when there is a virtualized version of a file related to the current directory. Once press, the user will be taken to the virtual store location to view all redirected files.

Compatibility Files

Note that the Compatibility Files button is only available in Windows Vista and Windows 7. In Windows 8, Windows 8.1, Windows 10 or later, the button has been removed. To view any compatibility files, you have to navigate manually to the folders as mentioned above:

%UserProfile%\AppData\Local\VirtualStore\