library: things you need to know about the vista virtual store (and windows 7/8)

Note: The following is a brief explanation of issues relating to programs that write to databases or save data to other types of files and run on computers that use the Windows Vista operating system. There is a wealth of detailed information available on the Internet. To learn more, Google "Vista Virtual Store".

Author: Paul M. Allen

Windows Vista succeeded in solidly positioning itself as the operating system users, IT administrators, and developers love to hate. While Windows 7 addresses a number of the issues that frustrated Vista users, the security model remains the same.

Complaints about Vista tended to focus on security settings, the fact that some programs won't work with Vista, and the fact that Vista drivers aren't available for many older peripheral devices including various printers and scanners.

In the case of programs that will run on Vista or Windows 7 systems but are not structured to deal with the realities of their default security settings, users can experience some unexpected problems.

It's Mostly About Databases

Most programs targeted at business users routinely read from and write to databases.

Software developers  frequently choose to place those databases in the same file folders that hold the programs that use them. Doing so had no real implications for users until Vista arrived.

PMA ServiceCenter is a typical example. It was introduced in 2007 - prior to the release of Vista - as a Microsoft .NET Windows application using Microsoft Access databases. The program is installed in the Program Files folder on the user's computer - the standard location for user-installed software.

The installed folder path is:

C:\Program Files\PMAServiceCenter\

The databases reside in a PMAServiceCenter sub-folder making their location:

C:\Program Files\PMAServiceCenter\Database\

(Note: The current version of the program, PMA Small Business ServiceCenter, places its
database in a different location, eliminating the problems detailed below.)

O'Brien QuickLoads Pro - another, older program produced by PMA is second example of an application that stores its databases in a Program Files sub-folder.

So, What's the Big Deal?

The problem for Vista/Window 7 users is that the default security settings prohibit programs from regularly writing to certain "secure" areas such as the Program Files folder.

To provide compatibility with "older" programs that elect to write to the Program Files folder and to separate the "system environment" from the "user environment", Microsoft created something called a "Virtual Store".

The Virtual Store is a location outside the protected Program Files folder where Microsoft creates copies of files a given program needs to write to and then uses those copies rather than the original files.

Note that the operative term in respect to where data is written and saved is "regularly". It appears that Vista/Windows 7 may or may not write to the Program Files folder, depending on the circumstances. That complicates the discussion because you have no way of knowing without directly checking the files or databases in question.

Unfortunately, Microsoft neglects to tell people all this. The information is available, you just have to search it out when problems occur.

The implications can be but are not necessarily limited to the possibility that:

1. - If you backup critical data, you may be making backup copies of databases/files that don't actually hold the data your program is using - because you don't know that the "real" data is actually in another location.

2. - If you uninstall the program, Vista will not automatically remove the data from its Virtual Store. You have to go into the Virtual Store and delete the files manually. If you don't, when you reinstall, the program will continue to use the old data held in its Virtual Store - or continue to malfunction because the problem that led you to reinstall the program existed in files that didn't get replaced or updated.

3. - If the program has more than one user, you may not be able to see the the data generated by others and they may no be able to see the data you generate. They are using the data in their personal Virtual Store and you are using the data in yours.

4. - Saved data can seemingly disappear because the data was saved in a copy of the database other than the copy currently being accessed.

Where's it Hiding?

The Virtual Store's location looks something like this:

C:\user\YourUserName\AppData\VirtualStore\Program Files\YourProgramName\

or

C:\user\YourUserName\AppData\Local\VirtualStore\Program Files\YourProgramName\

If you simply look for it on your computer, you probably won't find it. It is marked as hidden by default. To see the hidden files/folders on your computer and specify other settings that display useful information:

1. - Click on the Start button and select the Control Panel menu option.

2. - If you are in the Classic View - double-click on the Folder Options icon, then Click on the View tab. If you are in the ControlPanel Home View - click on Appearance and Personalization, then click on Show Hidden Files or Folders.

3. - In Hidden Files and Folders section select the radio button labeled "Show hidden files and folders". Also, uncheck the checkbox labeled "Hide extensions for known file types". Finally, Uncheck the checkbox labeled "Hide protected operating system files".

Bypassing the Virtual Store

Security-obsessed IT professionals cringe at public discussions of techniques that bypass security features but there are ways to change Vista's settings that will allow programs to function as they were originally intended to and write to locations in the Program Files folder.

Three strategies are to (1) right-click on the program icon and select "Run As Administrator", or (2) change your user permission settings, or (3) disable the User Account Control that constitiutes the heart of the Vista security system.

Detailed instructions are available on various websites. Google "Vista (or Windows 7) Run As Administrator", "Vista (or Windows 7) user permissions", and/or "disable Vista (or Windows 7) UAC" to learn more.



Copyright 2016(c)   PMA Technology Group     2003 Shoreline Drive,    Mesquite, TX 75149    Email: pmasoftware@att.net