Overview Series: Windows Vista Application Compatibility
Organizations of all sizes face challenges when adopting new technologies and upgrading to a new version of an operating system. Fortunately, Microsoft® provides other programs and technologies to address application compatibility that cannot be remediated using the provided tools.
This paper will discuss the applications and tools, shown in Figure 1, that Microsoft has created to assist with application compatibility in Windows Vista®.
Figure 1. Windows Vista application compatibility tools
Planning for Windows Vista Application Compatibility
Before you can begin any work on application compatibility, you need to know what applications are installed on your systems. Different applications are usually required by a variety of users and having a grasp on what currently exists within your infrastructure is imperative for a successful migration to Windows Vista.
Each organization’s computer network can be categorized as a managed environment, an unmanaged environment, or a mixed management environment.
- Managed environment: Information technology (IT) administrators strictly control and manage application installation and use based on the needs of the departments in the organization. Detailed application inventories are typically found in these organizations and can be used as a basis for initial application compatibility determinations.
- Unmanaged environment: Users typically have Administrator privileges for their computers and can install applications at their own discretion. Because users in an unmanaged environment can install any software they choose and the status of computers in the organization is therefore unknown, application compatibility is more difficult to assess without scanning all systems.
- Mixed environment: Most organizations have a mix of managed and unmanaged environments. While headquarters might be managed, often satellite offices are not managed with the same vigor. Depending on its needs and permissions, an individual group or department might be managed or unmanaged. Determination of application compatibility in these environments usually requires the completion of an inventory scan before analyzing compatibility.
It is very important that you support applications required by users throughout your organization, especially line-of-business (LOB) applications. Begin by collecting a comprehensive inventory of all applications used in the organization. To do this:
- Consult with other system administrators, support engineers, and department leads to ensure that all applications being used are included in the application inventorying process.
- Ensure that "seasonal" applications are included in the inventory. For example, fiscal year accounting applications might be used only once a year, and need to be included in the application inventory.
- Attempt to perform the data collection when there are few employee vacations scheduled and during the week, to avoid weekends. Otherwise, you might have limited or incomplete results due to the decreased application use.
Another compatibility concern that should be on your radar is the fact that your organization might use role-based applications, which are applications that relate to job function and the role that a user performs within the organization. A common example is accountants (a financial role) and their finance-related applications. Reviewing application use in conjunction with job function and roles could help you ensure that your application inventory is more complete.
Top Application Compatibility Issues
Windows Vista application compatibility issues typically are the result of changes in the operating system architecture, system updates, and the phasing out of some application features. Whether your organization has 5 client computers or 5,000, the root cause of the issue will be the same. The approach and tools you use to resolve the issue, however, might differ because of the number of computers that encounter the compatibility issue.
Most compatibility issues with earlier versions of applications can be attributed to one of the following:
- User Account Control (UAC): UAC limits Administrator-level access to the computer, restricting most users to run as standard users, and helps to prevent malicious programs from adversely affecting the computer. Changes in UAC permissions will cause most of the issues with earlier versions of applications.
- Internet Explorer 7 protected mode: Helps to defend against elevation-of-privilege attacks by restricting the ability to write to any local computer zone resources other than temporary Internet files. In simple terms, think of it as UAC for Internet Explorer.
- Operating system version changes: The operating system version number changes with each operating system release. This change affects any application or application installer that specifically checks for the operating system version and might prevent the installation from occurring or the application from running.
- Windows Resource Protection (WRP): Enables applications to function properly even if they attempt to write to protected system files or registry locations. WRP creates a temporary work area and redirects write actions for the application session. This change affects any application installation that attempts to replace, to modify, or to delete protected operating system files or registry keys. These attempts will typically fail with an Access Denied error.
Note: For detailed guidance on application compatibility issues and remediation, see the Application Compatibility Cookbook (http://msdn2.microsoft.com/en-us/library/aa480152.aspx).
Application Compatibility Toolkit 5.0
For anything more than a few, simple, mitigations download the free Application Compatibility Toolkit 5.0 (ACT).
ACT helps customers identify which applications are compatible with Windows Vista and which applications require further testing. ACT helps customers lower their costs for application compatibility testing, prioritize their applications, and deploy Windows Vista more quickly.
The following are some of the major components that comprise the ACT solution:
Application Compatibility Manager (ACM). A tool that enables you to collect and analyze your data so you can identify any issues prior to deploying a new operating system, updating to a new version of Internet Explorer, or deploying a Windows update in your organization. Administrators use this program heavily during Phase 1 and Phase 2 of an application migration project (described below). You could consider this program to be the “front end” of ACT.
Application Compatibility Toolkit Data Collector (ACT-DC). The Application Compatibility Toolkit Data Collector (ACT-DC) can be distributed to enable scanning of systems using compatibility evaluators. Data can be collected and returned to the central database.
User Account Control Compatibility Evaluator (UACCE). Looks for instances where an application may experience issues when running as a standard user. Pinpoints apps for follow-up testing.
Internet Explorer Compatibility Evaluator (IECE). Monitors web applications for compatibility issues with IE7.
Windows Vista Compatibility Evaluator (WVCE). Identifies issues where an app is using graphical identification and authentication (GINA), is designed to run in Session 0, or makes use of another deprecated feature of earlier versions of Windows. WVCE also check to see if applications install or use any interactive services.
- Update Compatibility Evaluator (UCE)
Detects and reports issues that may affect the deployment of a Windows Update.
- Setup Analysis Tool (SAT)
Automates the running of application installations while monitoring the actions taken by each application’s installer.
- Standard User Analyzer (SUA)
Determines the possible issues for applications running as a Standard User (SU) in Windows Vista.
Note: The tools within the Application Compatibility Toolkit can be used separately or together based on the needs of the organization. Some tools, such as the Setup Analysis Tool and Standard User Analyzer are intended for developers to enable application remediation, and are not necessarily used in the scanning and mitigation process.
ACT is indispensible for testing a wide variety of applications across a variety of computers and operating systems within your organization, using solutions based on a common pool of application fixes provided by vendors and end users.
There are three distinct phases to performing application migration:
Phase 1: Collecting Data. Before you can analyze your potential compatibility issues, you must first collect your organization's application inventory, and identify compatibility issues. ACT uses ACT-DC to collect compatibility data from systems.
The amount of information and results collected during Phase 1 can sometimes be overwhelming (See Figure 2). The recommended approach is to determine which applications are duplicates, old versions of current applications, or unauthorized applications. Next, list applications by priority by selecting first those applications that are critical to your business and prioritize the remaining list of applications by importance and level of effort required to remediate the issues.
Figure 2. Using the ACT to view collected applications
Phase 2: Analyzing Issues. After collecting your inventory and identifying compatibility issues you can organize and analyze your data. This includes categorizing, prioritizing, setting your deployment status, and setting your application expectations to create customized reports.
Note: For single systems, or systems inaccessible by the central ACT instance, the Program Compatibility Wizard, a tool built into Windows Vista can be used to perform simple scans and mitigations. More about this tool is included later in this guide.
Phase 3: Testing and Mitigating Issues. After analyzing your compatibility issue reports, you can test your applications to determine if the specified compatibility issues are actually problems within your organization. If you determine that the issues are valid, you can create mitigation packages to fix the issues using the ACT Compatibility Administrator.
The time required for each phase depends on the number of computers in your organization and how many applications are installed on each computer.
For more information on setting up and using the Application Compatibility Toolkit, please download and review the ACT 5 Step-by-Step Guides.
Program Compatibility Assistant
If you have a single application that needs Windows Vista compatibility resolution, one mitigation tool that might be effective is the built-in Program Compatibility Assistant. To run the Program Compatibility Assistant, right-click the application’s .exe file, click Properties, and then click the Compatibility tab to view the application’s property sheet, as shown in Figure 3.
Figure 3. Settings that affect application compatibility
If the program is used by multiple users, you can change the settings selected here to affect all users by clicking Show settings for all users.
Program Compatibility Wizard
The Program Compatibility Wizard, included with Windows Vista, can help resolve many application issues. Using the wizard you can test various compatibility options on various programs to find the setting that allows the programs to run under Windows Vista.
Note: You will want to log in with a user account that has standard user rights, not Administrator rights, to get the most accurate results with this wizard.
To start the Program Compatibility Wizard, click the Start button , click Control Panel, click Programs, and then click Use an older program with this version of Windows.
The Program Compatibility Wizard will be displayed as shown in Figure 4.
To begin the application compatibility diagnostic process, click Next.
Figure 4. The Program Compatibility Wizard
Microsoft® Virtual PC 2007
In some instances, such as when standard application mitigation strategies fail, virtualization technologies such as Microsoft® Virtual PC 2007 might be appropriate.
You can use Microsoft Virtual PC 2007 on any current Microsoft operating system to aid in application compatibility. In fact, Windows Vista Enterprise Edition includes licensing to operate up to four instances of earlier versions of Windows concurrently.
Using Microsoft Virtual PC 2007, you can run multiple operating systems on a single computer running the Windows Vista operating system. This way, you can proceed with your Windows Vista deployment, rather than delay because of application incompatibility. Your organization can take full advantage of the new features and capabilities in Windows Vista and still provide end users access to run earlier versions of mission-critical applications. And, the organization can realize return on investment from upgrading to Windows Vista faster than implementing other short-term application compatibility solutions.
Virtual PC 2007 provides a time-saving and cost-saving solution anywhere users must run multiple operating systems, and is an excellent short-term solution for mitigating application compatibility issues; it allows you to continue with Windows Vista deployment. However, you should consider selecting a longer-term solution.
Use Virtual PC 2007 to achieve the following:
•Ease migration: Run earlier versions of applications in a virtual machine instead of delaying the deployment of a new operating system because of application incompatibility. Test your migration plans using virtual machines instead of actual physical computers.
•Do more in less time: System administrators and the support center can run multiple operating systems on a single physical computer and switch between them easily. They can also restore virtual machines to their previous state almost instantly. Train users on multiple operating systems and virtual networks instead of purchasing and supporting additional computers.
•Streamline deployment: Test software on different operating systems more easily. One application or operating system that crashes won’t affect others.
Note: Microsoft® Virtual Server and Windows Server® virtualization (part of Windows Server 2008) offer other virtualization alternatives, but are better suited for server-based applications.
Microsoft® SoftGrid® Application Virtualization
Very often, while an application does work with the OS, it will still create conflicts with other applications running in the same environment because they are competing for systems resources. Application Virtualization plays a key role in mitigating those concerns.
Microsoft® SoftGrid® Application Virtualization transforms applications into virtualized, network-available services, resulting in dynamic delivery of software that is never installed, never conflicts, and minimizes costly application to application regression testing.
Users and their application environments today are no longer computer-specific, and the computers themselves are no longer user-specific. This allows IT administrators to be flexible and responsive to business needs, and significantly reduces the cost of PC management, including enabling application and operating system migrations, by separating the application deployment from the core OS image.
SoftGrid is an integral tool in the Microsoft® Desktop Optimization Pack for Software Assurance solution, a dynamic desktop solution available to Software Assurance customers that helps reduce application deployment costs, enable delivery of applications as services, and better manage and control enterprise desktop environments.
While SoftGrid typically provisions applications to run independently of each other in isolated environments, SoftGrid does permit some application interaction. You should carefully examine any dependencies applications might have on one another and sequence applications together if they rely on interacting with each other.
In this guide, you learned about Windows Vista application compatibility remediation options. With this understanding of the tools that you can use to resolve compatibility issues within your organization, you can determine the next step in achieving application compatibility within your organization. Although resolving application compatibility issues might seem daunting, applying these methodologies to each application individually will help you become familiar with the tools, and start accruing a list of successfully resolved compatibility issues.
About the Author:
Aaron Tiensivu is an MVP, MCSE, MCSA, and MCTS from Casnovia, Michigan, United States.