Windows Vista “virtualizes” the file system under Program Files or Program Files(x86) to limit the security exposure of programs writing to the protected program areas. Under previous versions of windows, programs would often write program data to the same folder, or a subfolder from, the location of the program – Program FilesSome_Program. This potentially causes a security issue since programs are writing to the area where the install occurred. This could cause instability for the programs or for other users on the system.
But the problem is that we have come to expect that we need to look in this area to backup our data files left from programs. And when we want to move to a new system, either with a newer or the same operating system, we need to find these data files and move them or back them up. Where did they go??
The answer is that the Program Files area, or it’s Program Files(x86) equivalent, have been “Virtualized” for each user. Once you know to Google for “Vista Virtual Store” then it’s easy to find out what is going on. Here are two Microsoft articles on the subject and an article from an independent blogger, Scott Hanselman.
- Inside Windows Vista User Account Control
- Achieve the Non-Admin Dream with User Account Control
- Vista’s “Show Compatibility Files” and the Scrumptious Wonder that is File Virtualization
So the simple answer is that the files can be found in: C:UsersYourUserNameAppDataLocalVirtualStore and then the appropriate “Program Files” and the program as previously. When a program brings up a file dialog box to the program files area, then the dialog shows the files from both the Program Files area and this “Virtual Store” but when a program is saved, then it only goes to the virtual store. And similarly, when a program writes a data file to the program folder, it is redirected to the virtual store.
This has three side effects:
- You can’t find those program files to back them up, or you don’t know where to put them if you are restoring them.
- You may get “Access Denied” messages when you are saving files using the program’s file dialog.
- Multiple users on the same system don’t see the same files or the same program state. A program under Win XP may have intended that all changes made to data in the “program files” area would be seen by all users, but with virtualization, users will see distinct information. A change made by one user will not show up for other users.
But once you know that these files have been moved, then all is clear. Here’s a picture of the virtual store area of my computer running Vista x64. As you can see, there are quite a few things stored here:
The same virtualization is performed for the registry as well, but this is rarely a problem since any modifications you do with RegEdit – heaven forbid – sees the virtual registry seamlessly.
So now you know where to find these files and how to deal with them.