|
|
To print: Select File and then Print from your browser's menu
-------------------------------------------------------------- This story was printed from ZDNet Australia. --------------------------------------------------------------
|
Make legacy applications feel at home in Windows XP By Faithe Wempen, TechRepublic May 21, 2002 URL: http://www.zdnet.com.au/insight/soa/Make-legacy-applications-feel-at-home-in-Windows-XP/0,139023731,120265375,00.htm
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:
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. Setting up Compatibility Mode manuallyIf the Compatibility Wizard seems like a lot of work to you, you're right; it is. But it's foolproof because it enables you to try various settings without saving them. Saving the settings doesn't occur until the very end, when you have confirmed that the chosen settings work. If you're a more intrepid type, you can set a program's compatibility settings from the Properties box for its executable file, like so:
Note about shortcuts If you set compatibility for the executable file, all shortcuts that point to it will be affected; if you set it for the shortcut only, it will affect the program only when started with that particular shortcut. You could have different shortcuts for different compatibility settings if you chose (although there would be little reason to do so).
Some programs won't work under Windows XP no matter what you do. For example, some versions of Lotus SmartSuite and some versions of VirusScan will install but won't run after installation. It's worthwhile to check the Web site for the errant program's manufacturer to see whether a patch or update has been posted that will allow the program to install and run under XP. Running MS-DOS programs in Windows XP Running an MS-DOS program under XP isn't much different from running one under earlier Windows versions. If it doesn't run correctly with the default settings, you can adjust the settings from the executable file's Properties box. When you adjust an MS-DOS program's properties, you're creating a Program Information File (PIF) file for it. As you may remember from earlier Windows versions, a PIF file is a shortcut for a DOS program that sets up a compatible environment in which it can run.
MS-DOS default settings When you double-click the executable file for an MS-DOS program for which you have not specifically set any properties, it uses the file _default.pif, located in the %SystemRoot% folder. If you want to change the default settings for MS-DOS programs, modify the properties for that file rather than for the executable file for a particular application. Windows 9x included an MS-DOS Mode, which rebooted the system into a true real-mode MS-DOS environment. Windows XP doesn't include thisâ€"it can't because it's not based on the MS-DOS kernel. However, it does provide a host of settings you can adjust to try to make an MS-DOS program work a little better. Here are some of the settings you can adjust:
Use Notepad You can directly edit Autoexe.nt and Config.nt in Notepad to change the default settings for all MS-DOS applications.
Works for most programs While not every MS-DOS and older Windows program will run under Windows XP, the vast majority will. The new Compatibility Mode feature goes a long way toward maintaining backward compatibility without unduly crippling Windows XP for more modern applications.
TechRepublic is the online community and information resource for all IT professionals, from support staff to executives. We offer in-depth technical articles written for IT professionals by IT professionals. In addition to articles on everything from Windows to e-mail to fire walls, we offer IT industry analysis, downloads, management tips, discussion forums, and e-newsletters.
Copyright © 2009 CBS Interactive, a CBS Company. All Rights Reserved. |