Make legacy applications feel at home in Windows XP

When you make the upgrade to Windows XP, you may run into problems with legacy applications. Learn how you can use XP's Compatibility Mode to overcome issues with older applications.

For more than a decade, the programmers behind Microsoft Windows have been caught in a double bind. On one hand, Windows needs to be the latest and greatest OS; on the other hand, it needs to maintain a certain level of backward compatibility. The problem has been handled in different ways over the years. The Windows 9x platform maintained support for legacy applications at the sacrifice of stability; the Windows NT platform abandoned compatibility for the promise of better stability.

With Windows XP, Microsoft seems to be getting it right. While it's true that there's no DOS kernel behind Windows XP, and therefore no guarantee of compatibility with 16-bit programs, XP's support of legacy applications through a new Compatibility Mode is more effective than any of the attempts in previous Windows versions. I'll explain how this feature can make nearly any legacy application work with Windows XP.

What constitutes a legacy application?

A legacy application is one that's designed to run under an older version of the operating system (OS). Legacy applications can include 32-bit programs designed for Windows 9x, Windows NT, or Windows 2000. They can also include 16-bit Windows applications designed for Windows 3.x and MS-DOS applications. Basically, -legacy" is a big basket into which everything is thrown that wasn't specifically designed for Windows XP.

Most legacy applications work fine in Windows XP with the default settings, and you don't have to do anything special to make them work. However, you may run into the occasional maverick program that breaks the rules, usually because of some programming quirk created by a shortsighted programmer who never dreamed that his program would live longer than the version of Windows for which he wrote it. Some applications check the OS version at startup, for example, and won't run unless they find a version they recognise. Others rely on certain system files included with a particular OS or a particular method of accessing the video subsystem or some other hardware.

The refusal of a legacy application to run under Windows XP isn't always due to shortsighted programming, however. There might have been a very good reason at the time to limit a certain application to a fixed set of OSs. Programmers could not have guessed in the mid-1990s that Windows XP was on its way and that it would make irrelevant what was then a compelling application. A whole class of programs also really does have legitimate reasons for not running under Windows XP, such as older disk utilities.

How Compatibility Mode works

Compatibility issues are nothing new. Many of you probably remember the days of MS-DOS's SETVER utility, which enabled MS-DOS to trick older applications into believing that an earlier version of MS-DOS was running. And you may recall in Windows 9x a setting for MS-DOS programs that enabled Windows to convince an application that Windows wasn't running when, in fact, it was.

It's in the same vein that the new Compatibility Mode feature in Windows XP operates but much more smoothly and with better options. Compatibility Mode in Windows XP doesn't actually run the older OS that you specify; it just tricks the program into believing that the specified OS is running by changing certain cues that the program receives. Compatibility Mode can emulate Windows 95, Windows 98, Windows NT 4, and Windows 2000. It doesn't emulate MS-DOS. (I'll talk about MS-DOS programs later.)

In addition to the behind-the-scenes compatibility it sets up, Compatibility Mode can enable a program to use a 256-color color depth and a 640 x 480 screen resolution. These video modes have been retired from regular Windows XP operation; you won't find them available in Display Properties anymore. So, if you need to run a program that requires that particular color depth or resolution, Compatibility Mode is the way to get access to those.

You can set up Compatibility Mode in Windows XP in two ways. The wizard method takes a rather long time, but it provides some help for figuring out the right settings to use. The other method is quick and dirty, but you run the risk of getting the settings wrong.

Using the Compatibility Wizard

The Compatibility Wizard is a good choice for first-time users of the Compatibility Mode feature and for situations in which you aren't sure which Windows version the program in question was written for. The Compatibility Wizard enables you to test various Windows versions and settings on the application to determine which emulation works best for it.

You can run the Compatibility Wizard for a program that's already installed or for a program you haven't installed yet. The wizard will walk you through either scenario. To run the Compatibility Wizard, follow these steps:

  • Choose Start | All Programs | Accessories | Program Compatibility Wizard. This opens the Help And Support Center with the Program Compatibility Wizard running inside it.
  • Read the information on the Welcome screen and click Next.
  • When asked how you want to locate the program, choose one of the following:
  • If the program is already installed, choose I Want To Choose From A List Of Programs. Then, when you click Next, Windows searches for installed programs and presents a list (Figure A). Choose the one you want and click Next.

Figure A
Windows XP, A

  • If the program is not installed yet and comes on CD-ROM, choose I Want To Use The Program In The CD-ROM Drive (and then insert the CD). If the Setup program tries to run automatically at this point, close it because you are not ready to run it yet. Then click Next in the wizard.
  • If the program is not installed yet and the Setup file for it is located somewhere else, choose I Want To Locate The Program Manually. Then click Next and either type the name/path to the file or use Browse to locate it. Click Next to continue.
  • The wizard will ask which version of Windows you want to try (Figure B). Select the version you want and click Next.

Figure B
Windows XP, A

  • If you need to use 256-color, 640 x 480 resolution, or turn off visual themes, select the appropriate check boxes for these options and click Next (Figure C).

Figure C
Windows XP, A

  • A summary will appear; click Next to try to run the program (or its Setup).
  • When you have decided whether or not the program works with these settings, return to the wizard and indicate your answer and then click Next. If you choose Yes, the Compatibility Wizard saves the current compatibility settings for that application and will run it using those settings from now on. (This isn't all that useful for a Setup program, but it's great if you did it for an already-installed application.)
  • You'll be prompted to send information to Microsoft; click Yes or No and then click Next | Finish.


An important note
If you used the Compatibility Wizard to install an application, you must use it again to set up the program to run in a particular emulation; the two activities are separate. Some programs require Compatibility Mode for setup but not for normal operationâ€"others, vice versa. Some require it for both.

Once you've set a program up for Compatibility Mode, it will run that way every time. If you ever want to remove Compatibility Mode from that program, you can run the wizard again and choose that option, or you can remove it manually, as you'll learn in the following section.

Advertisement

Talkback 2 comments

    What to do when a 16 bit app w ...Tony Cuccia -- 08/02/03

    What to do when a 16 bit app wont work despite running it in compatibility mode?

    I enjoyed your article. Howev ...Jo Anne M. Shields -- 07/03/03

    I enjoyed your article. However, I am having a problem in getting an answer in layman's terms to a question I have. I have purchased XP, but have not installed it as of yet. I have a DOS-based program which I use for invoicing. Unfortunately, the company is no longer in existence. Is there any way that I will be able to run this program on XP? It is on my computer now in Windows 98. I am not especially tech-savvy, but would appreciate any information you could provided. Microsoft won't answer any questions until I install XP. And I don't want to install XP if I can't use my DOS-based program since it was designed for my letterhead.

    Thanking you in advance for any help you can provide.

    Jo Anne

Add your opinion

Latest Videos

Sponsored content

Power Centre - Content from our premier sponsors

Blogs

  • Suzanne Tindal Sick of broken tender sites
    Some of the state governments desperately need to invest in more user-friendly tender sites so that looking for information on government tenders doesn't have to be a game of blind man's bluff.
  • Array Cyberwar: What is it good for?
    In this week's episode, Cyberwar. What is Australia's place in the world of digital warfare? What are the implications for the NBN?
  • Array Is wholesale-only backhaul just a pipedream?
    The potential acquisition of Pipe Networks by SP Telemedia has raised the question about whether vertically integrated backhaul providers will mean higher wholesale prices for ISP customers.
  • More blogs »

Tags

Back to top

Featured