Given all these issues, you would think most applications fail on Vista, but this is not quite the case. Vista includes several features that try to mitigate application issues.
Like Windows XP, Vista includes compatibility modes which you can assign to different applications to have them run properly. In addition, Vista includes the Program Compatibility Assistant (PCA), which is a remake of the Program Compatibility wizard found in XP.
The Program Compatibility Assistant is Vista's remake of XP's Program Compatibility wizard. It monitors applications for failures. |
The PCA monitors applications for failures and will automatically apply compatibility modes when they are detected. If an installation fails, the PCA will suggest that it be rerun with settings changes. Basically, the PCA modifies the compatibility settings in the application's properties. In most cases, the installation works correctly after this change. This can be done manually as well.
Vista supports several compatibility modes. |
Along with the PCA, Microsoft has introduced a form of file and registry virtualization. This means that when it detects an application that would normally write to protected areas of the system, Vista will try to use its virtualization settings to redirect the application's output to unprotected areas. Vista's file virtualization will automatically redirect offensive file writes to a folder structure called C:\Virtual Store\SID\Program Files\... where the SID is the security identifier of the user running the application. Similarly, Vista's registry virtualization will redirect system-wide registry keys -- keys that would normally be stored within the HKEY_Local_Machine\Software structure -- to HKEY_Classes_Root\VirtualStore\Machine\Software.
This is nothing like true software virtualization, which provides complete protection from any application modifications for the operating system. Software virtualization systems such as those mentioned earlier provide the best ways to support application compatibility in Vista. These tools allow you to prepare an application on a previous version of Windows and then copy it to a Vista system where it will run in protected mode. You copy the application instead of installing it because the preparation process for software virtualization captures the running state of an application, not its installation process. This revolutionary process should take off as organizations realize the benefits of true software virtualization -- and as they migrate to Windows Vista.