Logo
programming4us
programming4us
programming4us
programming4us
Home
programming4us
XP
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server
programming4us
Windows Phone
 
Windows XP

Understanding Application Compatibility : Determining Whether a Program Is Compatible with Windows XP, Understanding Compatibility Mode

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
8/10/2012 4:26:58 PM
Most new software programs are certified as Windows XP–compatible, meaning that they can be installed and run without mishap on any Windows XP system. But what about older programs that were coded before Windows XP was released? They can be a bit more problematic. Because Windows XP is based on the code for Windows 2000—which was in turn based on Windows NT—programs that are compatible with those operating systems will probably (although not definitely) be compatible with Windows XP. But the real problems lie with programs written for Windows 9x and Me. Windows XP—even Windows XP Home—uses a completely different code base than the old consumer versions of Windows, so it’s inevitable that some of those legacy programs will either be unstable while running under Windows XP, or they won’t run at all.

Why do such incompatibilities arise? One common reason is that the programmers of a legacy application hard-wired certain data into the program’s code. For example, installation programs often poll the operating system for its version number. If an application is designed for, say, Windows 95, the programmers might have set things up so that the application installs if and only if the operating system returns the Windows 95 version number. The program might run perfectly well under any later version of Windows, but this simplistic brain-dead version check prevents it from even installing on anything but Windows 95.

Another reason incompatibilities arise is that calls to API (application programming interface) functions return unexpected results. For example, the programmers of an old application may have assumed that the FAT (file allocation table) file system would always be the standard, so when checking for free disk space before installing the program, they’d expect to receive a number that is 2GB or less (the maximum size of a FAT partition). But FAT32 and NTFS (NT file system) partitions can be considerably larger than 2GB, so a call to the API function that returns the amount for free space on a partition could return a number that blows out a memory buffer and crashes the installation program.

These types of problems might make it seem as though getting older programs to run under Windows XP would be a nightmare. Fortunately, that’s not true because the Windows XP programmers did something very smart: Because many of these application incompatibilities are predictable, they gave Windows XP the capability to make allowances for them and so enable many older programs to run under Windows XP without modification. In Windows XP, application compatibility refers to a set of concepts and technologies that enable the operating system to adjust its settings or behavior to compensate for the shortcomings of legacy programs. This section shows you how to work with Windows XP’s application compatibility tools.

Determining Whether a Program Is Compatible with Windows XP

One way to determine whether an application is compatible with Windows XP is to go ahead and install it. If the program is not compatible with Windows XP, you might see a dialog box similar to the one shown in Figure 1.

Figure 1. You might see a dialog box such as this if you try to install a program that isn’t compatible with Windows XP.


At this point you could click Continue (in some dialog boxes, the button is named Run Program), but this is a risky strategy because you can’t be sure how the program will interact with Windows XP. This approach is riskiest of all when dealing with disk utilities, backup software, antivirus programs, and other software that requires low-level control of the system. It’s extremely unlikely that Windows XP would ever allow such programs to run, but you should always upgrade such products to Windows XP–compatible versions. A much safer route is to click Cancel to abort the installation and then visit the vendor’s website or the Windows Update site to see whether a Windows XP–friendly update is available. (You can often get the company’s web address by clicking the Details button.)

Note

Where does the information in these dialog boxes come from? In the %SystemRoot%\AppPatch folder, Windows XP has a file named Apphelp.sdb that contains messages such as the one shown in Figure 5.5 for all known applications that don’t have compatibility fixes (discussed later in this section). The .sdb files aren’t text files, so opening them with Notepad or WordPad will not allow you to read any of these stored messages.


A better approach is to find out in advance whether the program is compatible with Windows XP. The most obvious way to do this is to look for the Designed for Windows XP logo on the box. For older programs, check the manufacturer’s website to see whether the company tells you that the program can be run under Windows XP or if an upgrade is available. 

What if you’re upgrading to Windows XP and you want to know whether your installed software is compatible? The easiest way to find out is to use the Upgrade Advisor tool, which is available on the Windows XP Professional CD. (The Windows XP Home CD doesn’t have the Upgrade Advisor.) Insert the Windows XP Professional CD and, when the Welcome to Microsoft Windows XP screen appears, click Check System Compatibility. Run through the Advisor’s dialog boxes until you get to the report on system compatibility. This report will list software that doesn’t support Windows XP and possibly software that needs to be reinstalled after the Windows XP setup has finished.

Understanding Compatibility Mode

To help you run programs under Windows XP, especially those programs that worked properly in a previous version of Windows, Windows XP offers a new way to run applications using compatibility layers. This means that Windows XP runs the program by doing one or both of the following:

  • Running the program in a compatibility mode This involves emulating the behavior of previous version of Windows. Windows XP can emulate the behavior of Windows 95, Windows 98, Windows Me, Windows NT 4.0 with Service Pack 5, or Windows 2000.

  • Temporarily changing the system’s visual display so that it’s compatible with the program— There are three possibilities here: setting the color depth to 256 colors; changing the screen resolution to 640×480; and disabling Windows XP’s visual themes.

Note

Windows XP and Microsoft often use the terms compatibility layer and compatibility mode interchangeably, depending on which compatibility tool you’re using. In some cases, the emulations of previous Windows versions are called operating system modes.


These are the broad compatibility layers supported by Windows XP. As you’ll see a bit later, Windows XP also offers fine-tuned control over these and other compatibility settings. For now, however, you have two ways to set up a compatibility layer:

  • Right-click the program’s executable file or a shortcut to the file, click Properties, and then display the Compatibility tab in the property sheet that appears. To set the compatibility mode, activate the Run this Program in Compatibility Mode For check box (see Figure 2), and then use the list to choose the Windows version the program requires. You can also use the check boxes in the Display Settings group to adjust the video mode that Windows XP will switch to when you use the program.

    Figure 2. In the property sheet for an executable file, use the Compatibility tab to set the compatibility layer for the program.

  • Run the Program Compatibility Wizard by selecting Start, All Programs, Accessories, Program Compatibility Wizard. Use the wizard’s windows to select the program’s executable file, choose a compatibility mode, set the visual options, and then test the program.

Other -----------------
- Remote Collaboration with Microsoft NetMeeting : Using the Whiteboard & Sharing Programs
- Remote Collaboration with Microsoft NetMeeting : Exchanging Files in NetMeeting & Using the Chat Feature
- Remote Collaboration with Microsoft NetMeeting : Placing NetMeeting Calls
- Remote Collaboration with Microsoft NetMeeting : Configuring NetMeeting
- Sending and Receiving Faxes (part 3) - Receiving Faxes
- Sending and Receiving Faxes (part 2) - Sending a Fax
- Sending and Receiving Faxes (part 1) - Installing, Configuring the Fax Service
- Using HyperTerminal for Modem-to-Modem Connections : Connecting to a Remote System & Performing File Transfers
- Using HyperTerminal for Modem-to-Modem Connections : Creating a New HyperTerminal Connection
- Getting Your Modem to Dial Voice Calls for You : Setting Phone Dialer’s Options & Quick Connections with Speed Dial
 
 
Top 10
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
 
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server