Application compatibility testing is an important part of the deployment project. Though application testing takes place primarily during the Developing Phase of the project, other related tasks occur throughout the project life cycle. Figure 1 illustrates the phase of the deployment project during which each of the application compatibility testing and deployment tasks may occur. The time frames are estimates and may vary from deployment to deployment.
Figure 1. Overview of the application compatibility testing process
To successfully resolve compatibility problems:
Identify the applications that must be tested. Create an inventory of the organization’s applications, and check an application’s certification status to see whether it requires testing.
Identify application compatibility problems. Test each application and debug it, if necessary.
Resolve application compatibility issues. Identify and create application compatibility solutions; in applications for which source code exists, modify and recompile the code.
Deploy or distribute applications and solutions. Use a deployment and distribution tool such as SMS.
To perform these tasks, Application Compatibility feature team members must understand how application compatibility problems arise, what they can do to resolve the problems, and which tools they can use to plan their application compatibility testing project and to test, fix, and deploy applications.
On This Page
Common Compatibility Problems
Application Compatibility Solutions
Common Compatibility Problems
There are several reasons why an application written specifically for a different version of Windows—especially the Microsoft Windows 2000 Professional, Windows Me, Windows NT® Workstation 4.0, Windows 98, and Windows 95 operating systems—may manifest problems when run under Windows XP or Windows Vista. Most problems fall into the following categories:
Setup and installation
For detailed information about common compatibility problems, see the following:
Setup and Installation
Problems can occur when an application copies files and shortcuts to folders that exist in an earlier version of the Windows operating system but that do not exist in Windows XP, Windows Vista, or Windows Server 2003. Problems also can occur when a program:
Writes entries directly to the registry without using Microsoft Windows Installer or the shell application programming interfaces (APIs).
Checks for a specific version of the operating system.
Does not support partitions larger than 2 gigabytes (GB).
Does not support long file names.
Tries to access hardware directly rather than by calling the appropriate APIs.
Problems can occur when a driver tries to perform a task that is allowed in an earlier version of the Windows operating system but is not allowed in Windows XP, Windows Vista, or Windows Server 2003. The most common types of programs that exhibit kernel-mode driver problems include antivirus programs, personal firewall programs, disk-defragmentation programs, and CD-burning programs.
Permission problems can occur when an application tries to access areas of the file system or registry that are accessible by all users and applications in an earlier version of the Windows operating system but which are no longer accessible in Windows XP, Windows Vista, or Windows Server 2003. In these operating systems, normal user accounts can write only to the following locations:
Registry subkey HKEY_CURRENT_USER, except \Software\Policies and \Software\Microsoft\Windows\CurrentVersion\Policies
The user’s own user profile folders
Shared documents folders
Any folder the user creates from the root of the system hard disk
If a user tries to write to any other location, an error occurs.
Heap management problems can occur because Windows XP and Windows Vista immediately detect problems that frequently took some time to appear in earlier versions of the Windows operating system. In addition, application compatibility problems can arise because of the following features in Windows XP and Windows Vista:
Windows File Protection (WFP). This new feature prevents applications from replacing system files. Earlier versions of Windows allowed applications to replace shared system files during installation, a process that frequently caused problems ranging from application errors to an unstable operating system. WFP verifies that protected system files are the correct Microsoft version and restores the correct version when a file is replaced. In Windows Vista, WFP is now called Windows Resource Protection.
Enumeration of hardware devices. Changes in the list of supported hardware devices may cause problems for applications using devices that are no longer supported.
Enumeration of fonts. Registry keys have been added to support internationalization, and the operating system may not provide applications with the font choices the application expects because the list of fonts has changed.
Windows Messaging System (WMS) no longer available. Applications that expect the operating system to provide WMS will not find it.
File input/output security. Windows has tightened security for file input and output. Applications that use file filters, such as antivirus programs, may lose significant functionality.
Privileged instructions. An application may be shut down because it uses instructions such as cli, sti, in, out, and others. Other times, it may generate access violations that can be ignored, allowing the application to continue running without consequence.
16-bit emulation. Many application compatibility fixes are written to emulate various aspects of the Windows Me, Windows 98, and Windows 95 code base. Applications often expect this type of behavior and rely on it.
In Windows XP and Windows Vista, several changes have been made in Windows Firewall to provide more network protection by default. For detailed information about these changes and for instructions on how to mitigate them, consult the following resources:
For Windows XP SP2, see the “Windows Firewall” section of the white paper, “Changes to Functionality in Microsoft Windows XP Service Pack 2,” at http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2chngs.mspx.
For Windows Vista, see The Cable Guy’s January 2006 article, “The New Windows Firewall in Windows Vista and Windows Server ‘Longhorn,’” at http://www.microsoft.com/technet/community/columns/cableguy/cg0106.mspx.
For Windows Server 2003 SP1, see the “Windows Firewall in Windows Server 2003 Service Pack 1” section of the white paper, “Changes to Functionality in Microsoft Windows Server 2003 Service Pack 1,” at http://technet2.microsoft.com/WindowsServer/en/library/ed9975ba-3933-4e28-bcb4-72b80d7865b71033.mspx?mfr=true.
Windows XP and Internet Explorer Security Features Overview
The IECE is designed to help information technology (IT) professionals evaluate changes in the behavior of Web applications and Web sites that new security features in Windows XP SP2 cause. It does this by:
Identifying issues and blocks to Web site functionality.
Identifying the cause of the block and specific details to identify the location of the problem.
After installing Windows XP SP2 and the IECE, begin testing Web sites and Web applications. When a security feature blocks an action, new information will be entered in the test log, including details such as:
URL where the block occurred.
Security feature involved.
Link to information on how to fix this error.
Automatic mitigation (if available).
For more information on Internet Explorer compatibility issues, see the “Internet Explorer Security Features Issues” in the ACT Help and Support Documentation.
Windows Vista and Internet Explorer Security Features Overview
Windows Vista includes a new version of Internet Explorer—Windows Internet Explorer 7 in Windows Vista—and features updated security settings that may cause some compatibility issues with Web sites or browser-based applications if not fully understood. Internet Explorer 7 includes stronger defaults for some security settings and will warn users if it considers the changes they are making unsafe.
In the Internet zone, where most users browse, settings will be improved with two very notable changes:
The Internet zone will run in protected mode on Windows Vista, which helps provide defense-in-depth against some of the attacks Internet Explorer has faced in the past.
The Microsoft ActiveX® Opt-in feature will help reduce the attack surface of ActiveX controls in the Internet zone.
If Internet Explorer 7 is used on a computer that is not on a managed corporate network, Internet Explorer 7 will treat apparent local intranet sites as Internet sites. This change effectively removes the attack surface of the intranet zone for home computer users.
Internet Explorer 7 introduces a new security level for these additional protections, Medium-high. Medium-high is the default security level for the Internet zone. The default for the Trusted Sites zone in Internet Explorer 7 is Medium, the same level as the Internet zone in Windows Internet Explorer 6.
Application Compatibility Solutions
Windows XP, Windows Vista, and Windows Server 2003 resolve application compatibility problems by dynamically matching application problems with solutions. The matching mechanism is controlled by a dynamic-link library (DLL) that starts and runs the matching mechanism whenever a user installs or runs an application. However, the matching mechanism is transparent and does not significantly affect the performance of the operating system or installed applications.
The matching mechanism relies on several database files to match problems with solutions. The database files contain a list of applications that have known problems and instructions for resolving those problems. The database files are saved in the \systemroot\AppPatch folder in Windows XP, Windows Vista, and Windows Server 2003.
These databases include:
For more information, see Application Compatibility Solutions at http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/DepKit/02af6a90-ce92-419d-a366-7f1070336de0.mspx. For more information on creating compatibility solutions with ACT 5, see “Compatibility Administrator” in the ACT Help and Support Documentation.