Having been involved in Windows XP’s development and beta testing, I was satisfied with its stability and didn’t think twice about installing it on all my workstations. But then I had a rude surprise. My Microsoft Phone System would not run under Windows XP. After discussing the issue extensively with Microsoft, I discovered there was no way to make the phone system run under XP and that I had to either give up my Microsoft Phone System or give up Windows XP on that computer.

To make a long story short, I kept Windows XP and bought a different call management system. The moral of this story is that some software (and hardware) just won’t run under Windows XP, and it’s a good idea to perform thorough testing before making the switch. Here are some tips to help you determine your applications’ Windows XP compatibility.

Start with a software inventory
There are several steps you can take to determine whether your applications will function with Windows XP. I recommend you begin by performing a software inventory on the machines that will be migrated to Windows XP. Once you have this software list, look for applications that have a tendency to be OS specific, such as:

  • Antivirus software.
  • Software relying on features that don’t exist in Windows XP, such as DriveSpace.
  • Any programs that require DOS-level drivers.
  • Custom Control Panel Applets.
  • Custom Power Management.
  • Custom plug-and-play software.
  • Software tied directly to legacy hardware (such as my Microsoft Phone System).

If you have such software and it currently runs under Windows 9x or Windows NT, it is very likely the software is not Windows XP compatible. If your workstations are presently running such applications on Windows 2000, there’s a much better chance those applications will work with Windows XP.

Microsoft Software Inventory Analyzer (MSIA)

MSIA scans your PC for core Microsoft software and then generates a summary report that lists any products it finds on your machine. Once you know what you have, you can use the MSIA wizard to fill in the license information for each package found. MSIA can be installed for free on any number of single PCs. You can learn more about MSIA by reading this TechRepublic article, and you can download the MSIA setup software here.

Contact software vendors and test, test, test
As you go over your list of applications, I recommend contacting your software vendors for information on version updates and Windows compatibility. You can save a little time by checking Microsoft’s Windows Catalog, which contains limited information on software and hardware Windows compatibility. Yet neither of these actions eliminates the need for rigorous testing. Before migrating to any new operating system, client or server, your IT organization should thoroughly test that operating system with every hardware combination and piece of software your company or client has. Check out these TechRepublic articles and columns for more information on Windows XP migration planning:

Options for incompatible programs
If an existing application runs badly or doesn’t run at all under Windows XP, you’re not entirely without options. Windows XP’s built-in Compatibility Mode or other compatibility tools might solve the problem.

Windows XP Compatibility Mode
Windows XP’s Compatibility Mode and the Program Compatibility Wizard are designed for the sole purpose of running older programs under Windows XP. Compatibility Mode emulates several features of older Windows versions. Check out this TechRepublic article for more detailed information on Windows XP’s Compatibility Mode and the Program Compatibility Wizard.

Other compatibility tools
Microsoft’s Quick Fix utility (QFixApp) is a small utility available as part of the Application Compatibility Toolkit for Windows XP and Windows Server 2003. QFixApp acts as an interface to Windows XP’s application compatibility database. By using QFixApp, you can browse the system for executable files and then apply compatibility modes or fixes on a file-by-file basis. The process is nonintrusive because the fixes aren’t applied directly to the files. Instead, the fixes are written to a database, and the database simply modifies the application’s environment when the application is launched.

There are two primary advantages to using the QFixApp utility over the Program Compatibility Wizard. Unlike the wizard, QFixApp is a completely manual (nonwizard-based) process. This means you have much more control over the various fixes that are applied than you would have when using the wizard. Another benefit is that QFixApp allows you to fix applications even if the application doesn’t appear in Windows’ list of applications with known problems. So this tool is perfect for tweaking extremely old, obscure, or custom applications.

Another useful tool is the Compatibility Administration program (CompatAdmin), which is also available as part of Microsoft’s Application Compatibility Toolkit. This utility is similar to QFixApp but is designed for network administrators who need to roll out fixes to large groups of computers. Like QFixApp, CompatAdmin allows you to browse the various executable files and apply fixes to them on an as-needed basis. After doing so, you can use CompatAdmin to roll the fixes into a package file and then ship the package to the individual computers.

One of the cool things about CompatAdmin is that the fixed applications don’t have to be local. CompatAdmin has a search feature that lets you browse for applications on both local and network drives. This makes it easy to create a comprehensive database of fixed applications in your organization.

To learn more about QFixApp and CompatAdmin, visit Microsoft’s Application Compatibility page at the MSDN Library, or download the Application Compatibility Toolkit here.