At some point, most IT administrators will have to determine whether an existing application can or should run on a newer version of Windows.
There are plenty of differences between the older versions of Windows and the newer ones -- Windows XP, Windows 2000 and Windows Server 2003. In terms of file-system and registry security, for example, modern versions of Windows have really battened down the hatches.
Jerry Honeycutt, a Windows expert and author, said that the more modern flavors of the operating system are less forgiving of badly behaved applications, such as those with sloppy memory management and those that require unrestricted access to the computer. Following are some of his tips for deploying legacy applications on newer Windows desktops.
Use security templates. A lot of administrators don't know about this feature, which is built into Windows and is best deployed by using group policy. You use the Security Configuration Editor to create a security template, which specifies security settings for computers, and then use the security template to deploy those settings.
If a legacy application needs to run in a locked-down environment, administrators can create a security template that opens up security just enough for that application to run. This solves the permissions problem that occurs in lock-down environments where many legacy applications require access to files and settings that restricted users can't access.
The alternative is to dump all users into the administrator group, which not only creates security problems but also makes it difficult to manage these computers because administrators are no longer in control of users' settings.
Use the Application Compatibility Toolkit. This toolset is helpful when working with legacy applications that are ill behaved, particularly in Windows XP, Honeycutt said.
"I'm talking about legacy applications that run only in specific Windows versions or on hard-coded paths," he said. "They sometimes don't manage memory correctly and Windows XP doesn't let them get away with it, where earlier versions of Windows might."
IT administrators can get the toolkit from Microsoft's download Web site. It essentially lets you test legacy applications in a lab setting, checking them first to see what type of compatibility problems exist. Once you identify the problems, you assemble compatibility fixes -- Microsoft calls them "shims" -- in a compatibility database. Finally, you deploy the compatibility database to computers running Windows XP. When Windows XP starts, it applies the application's compatibility fixes. For example, if you created a compatibility fix that reports a specific version of Windows to the application, Windows XP will return that version to the application every time it queries the operating system version.
Honeycutt said that a lot of IT administrators find the tool intimidating, but that's just because they don't have the proper training. "It's unfortunate because this tool can fix a lot of problems," he said.
Consider using Virtual PC. If the Application Compatibility Toolkit can't fix an application's compatibility problems, if you don't have training for using it or if the application is simply too costly to fix, there is another option. That's Virtual PC, the technology Microsoft recently acquired from Connectix Corp.
An older version of Windows can be deployed on a user's PC as a virtual machine, and the legacy application can run on the older version of Windows. "It's less expensive than buying users two computers, deploying multi-boot configurations or delaying a cost-saving deployment project," Honeycutt said.
Virtual PC is not expensive, compared with the cost of two machines, or deploying multi-boot configurations, and it's not worth derailing an entire project because you cannot use Windows XP, he said.
FOR MORE INFORMATION:
Expert advice: Submit a question to desktop expert Jerry Honeycutt