Application Compatibility in Windows XP

Published: February 18, 2002
**
**

Editor's Note: Past articles by members of the online community are archived for your use. The information may become outdated as technology changes. For the most current information, please search the Web site or post a question in the newsgroups.

hs_russel_lg.jpg

Every new operating system must inevitably address the question of compatibility with previous versions.

For any new program, the desire for new features often forces changes in file formats, database structure or other changes that make new versions not completely compatible with older versions. For a new operating system such as Windows XP, the problem is even worse. The operating system must try to be compatible with the vast library of programs that have been written for the operating systems it is replacing. Not a trivial job, and one which inevitably requires some tradeoffs.

Windows XP must provide compatibility with two very different previous operating systems — Windows 2000 and Windows Me, along with their predecessors.

To help with compatibility, a whole range of tools are built into Windows XP — some for developers, some for system administrators, and one — compatibility mode — is designed for the end user.

In this column, we'll show you how to use compatibility mode, and give you some background on what it does.

Why Compatibility Mode?

How do you know whether to use compatibility mode? In a simple case, you start to install an application, which checks to see what version of Windows you're running, and the application does not recognize Windows XP. This will usually result in an error message from the application such as: "This application was designed to run under Windows 98." Compatibility mode in Windows XP can work around this by telling the application that it is running under Windows 98 (or whatever version of Windows it requires).


In other cases, knowing whether to use compatibility mode is not so simple. It's trial and error. If an older program is not running correctly under Windows XP, you should first try running the program in compatibility mode.

One change in the operating system that can cause problems for older programs is the new location for user profiles. Some programs expect to find your user profile under the main Windows directory, but Windows XP (like Windows 2000) stores its profiles in the \Documents and Settings directory on the drive where you have Windows XP installed.

There have been some changes to the way certain programming features are handled, and there are applications that think they should be able to directly control the hardware — something that Windows XP doesn't allow for stability reasons. The majority of well-known applications that need compatibility fixes have already been identified by Microsoft. Windows XP handles these in the background, and you never have to set compatibility mode. But if your particular program doesn't happen to be one they know about, you may need to enable compatibility mode for the application yourself.

WARNING: When You Shouldn't Use Compatibility Mode

Certain programs, such as antivirus programs, disk utilities, backup programs and system utilities that were not designed for Windows XP should not be run in compatibility mode. Because these programs need very low level access to the hardware or require kernel level drivers, you should never attempt to run older versions under Windows XP.

Setting a Program To Compatibility Mode

To enable Compatibility Mode for an application

1.

Locate the program. Click Start, click All Programs, and then right-click on the program and click Properties.

2.

Click Compatibility to open the compatibility mode dialog shown in Figure 1, below.

Compatibility mode dialog box

Figure 1. Compatibility mode dialog box.

3.

Click in the box to put a check mark beside Run this program in compatibility mode for:.

4.

In the drop down menu below it, select the version of Windows that you want to try. The choices are:

Windows 95

Windows 98/Me

Windows NT4 (SP5)

Windows 2000

5.

If your program has problems handling the higher quality video of Windows XP, you can also select one of three other restrictive settings on the video:

Run in 256 colors — This forces the entire screen to 256 colors while the application is running

Run in 640x480 screen resolution — This forces the entire screen to 640x480 resolution while the application is running

Disable visual themes — This disables all visual themes while the application is running.

6.

Click OK to close the window

Now try running your application. If there are still problems, try adjusting the settings till you find a combination that works. The changes you make will apply every time you run the application until you either change them or re-install the application.

What Mode to Choose?

The question of what compatibility mode to choose is mostly a matter of trial and error. The general rule is to choose the last version of Windows with which you knew the application worked. Sometimes the application will actually tell you what version of Windows it was written for and is expecting. In general, I wouldn't change the display settings until you've tried all the available compatibility mode settings and are still having corrupted video or the window fails to appear. The least intrusive video change is to disable visual themes — try that first. Often if an application's windows aren't appearing or are distorted, this will resolve the issue. Next I'd try the 256 color option, and only resort to 640x480 if you must. Who wants to run their computer at that resolution with today's larger monitors and more powerful video cards?


Charlie Russel, Microsoft MVP for Windows Server and Tablet PC

Charlie Russel is currently an information technology consultant, having years of system administration experience with a specialty in combined Windows and UNIX networks. Charlie is the author of several books for IT professionals, including co-authoring these two recent titles: Microsoft Windows Server 2003 Administrator's Companion (Microsoft Press, 2003) and Microsoft Windows Small Business Server 2003 Administrator's Companion (Microsoft Press, 2004).