The Great Migration: Moving Applications to Windows 2000
Special Report
Moving to a new home would be much easier if you could call in the crew of the Starship Enterprise, and have them use their transporter to beam all of your furniture over to the new place. Instead, most do-it-yourselfers sweat, curse and scream until all of the junk from the old house is finally in the new.
IT managers will soon be facing a similar dilemma when they choose to start deploying Windows 2000 servers. Getting old applications to install and run properly on the new operating system can offer a few moving-day surprises.
Most major software vendors have been following the path to Windows 2000, testing their application packages on each new beta and release candidate Microsoft Corp. unveils. But smaller software designers and in-house development teams that have not kept pace with Microsoft may find difficulties when they try to pick an application off the old operating system and load it on the new one.
Moving Day: Installation
Everything is in the van and you're ready to move into your roomy, new Windows 2000 palace. Danger: many of your items may not fit through the door.
"Far and away, our biggest problem is getting applications to install," says Kyle Marsh, a software design engineer at Microsoft. One problem that causes headaches is application installation scripts that confirm the operating system version on the target machine. Installers often search for NT 3.0 or 4.0 and for which Service Pack is installed. When the installation finds none of the above, it will fail.
Then there is system file protection, a new feature in Windows 2000. If an application's installer overwrites a DLL system file that an administrator has identified as one to be protected, the system restores the original files upon reboot. This process damages a new application’s installation, which led Microsoft to alter the installation process. New to Windows 2000 is a install technique called side-by-side DLLs, which is also part of Microsoft’s application specification for Windows 2000. Side-by-side DLL installation looks in the system for a DLL of a given name. If one exists, then the setup will put the DLL file "alongside" the application.
Developers will need side-by-side aware versions of the components they use, but unfortunately, because the technology is new, those components are not widely available. B.J. Whalen, Windows 2000 product manager at Microsoft, advises that if a component is not designed for side-by-side use, at least make sure it is stored in the correct directory.
These hurdles could result in an install torture chamber, had Microsoft not provided some other features through its Windows Installer. Scripts that are written to the Windows Installer API can ensure that applications properly leverage Windows 2000. Other benefits, such as a system rollback, are included in the new API. System rollback can be used upon an install failure, which would roll back the system to the state before the installation ever began. Likewise, the machine can lock an application into place once an installation is complete.
Another Windows Installer technology helps resolve machine lockdown problems. If client machines are locked down around the enterprise to prevent unauthorized software installation, users might not be able to install legitimate, IT-authorized packages. With Windows Installer, administrators can mark certain applications that locked-down systems will recognize as being approved for installation on that machine.
Likewise, the installer helps prevent users from accidentally or intentionally deleting mandatory files. If a user deletes a file necessary for an application to work, the machine will go over the network and retrieve the missing file when the application is fired up again. This only works, however, if the application was installed with the Windows Installer.
Two products currently available to ease installation problems are Wise for Windows Installer from Wise Solutions Inc. (www.wisesolutions.com) and InstallShield for Windows Installer from InstallShield Software Corp. (www.installshield.com). Both companies have been working with Microsoft to ensure that if developers choose their products, the installation scripts will properly leverage the Windows Installer.
Wise for Windows Installer, for example, works by taking a snapshot of a machine and then installing the application. Then another snapshot is taken to see what has changed. Wise for Windows Installer then builds an install script based on this data. Current users of Wise InstallManager can take their install script and run it through an import wizard that will automatically spit out a Windows 2000-based installation. Brien Witkowski, president of Wise Solutions, cautions that managers planning to install applications on Windows 2000 should use a test machine first, noting any difficulties.
Reliability Over Compatibility
Once everything is through the door, you now have to determine what’s the proper resting place for each application. It’s entirely possible that you’ll find the disk equivalent to the problem of wanting to put a grand piano into a second floor family room. "The NT team did choose reliability over compatibility," Microsoft's Marsh says. So, where does that leave developers?
Microsoft says that making the platform better also meant making changes that themselves cause incompatibilities For instance, applications are now expected to be defaulted to the "Program Files" folder. Microsoft wants programmers to stop putting applications in the Windows directory or its subdirectories. Other changes that cause potential backward incompatibilities include longer file, folder and printer names.
Planned, Ready, Certified
Microsoft’s Application Specification for Windows 2000 was released in June, and now is the bible for developers that want their applications to be certified for Windows 2000. In the past, Microsoft issued "Designed for Windows" logos for applications that were tested to run properly on the operating system. Now, Microsoft says the testing process, which tests for proper installation and behavior, has become more rigorous. Microsoft’s Whalen puts it simply: if there's a bug, Microsoft’s testers will find it.
"It's not about the logo, but about the specification," Whalen explains. "At the end of the day, I'm not going to be more comfortable because you have a little sticker but that you filled a business need." He says Microsoft has given its certification marketing team the go-ahead, and more information about the certification program will surface as Windows 2000 approaches final release.
There are two flavors of the application specification: one for the desktop and another for distributed applications -- which is a superset of the desktop specification. The distributed application specification includes requirements for leveraging features such as Active Directory and Clustering Services.
"What we're trying to do is help developers think about building their applications in a broader way," says Craig Beilinson, product manager for Windows 2000 at Microsoft. "We need to make sure ISVs take advantage of the features in Windows 2000."
In March, Microsoft launched the Windows 2000 Readiness Program for Applications and Developers, which is charged with bringing developers up to speed on application design. Microsoft also is making available training and certification programs for developers, the first of which will be targeted at Visual Basic and C++ users.
Other vendors are gearing up, too. Ben Riga, group product manager of enterprise tools at Inprise Corp. (www.inprise.com), says Inprise is working on a compiler to port Delphi applications to Windows 2000. "We don't expect to have any problems getting our customers to Windows 2000," Riga says.
For customers who want to know the status of their software developers on working on the specification, Microsoft has a Web site (www.microsoft.com/windows2000/ready) that outlines whether a developer is "planned, ready, or certified" for the new platform.
Microsoft’s Whalen points out, however, that certified only means that an application installs and works properly on Windows 2000. Quality and scalability aspects of the software still will be left to the developer and customer. He also warns that "ready" is a designation that comes from the software vendor, not a tested process.
Know Your Software Vendor
"We've been working with Microsoft on the Windows 2000 project for at least 12 or 18 months," says Jeff Young, vice president of global product development at Great Plains Software Inc. (www.greatplains.com), a producer of business management software. "We've made changes over a long period of time as the requirements have become finalized."
Young says his company plans to release a version of its software based on the W2K Release Candidate at about the same time as Windows 2000 is released this fall. Then Great Plains -- currently marked as "planned" on the certification Web site -- will test its software against the final operating system and release a new version when that's finished. Finally, Young says, developers will begin to take advantage of advanced features in Windows 2000, such as Active Directory and improved security services.
For many users, the question is just the opposite: what if I’m not moving to Windows 2000 immediately, for how long will I be supported on NT 4.0. "We will support [NT] for quite a while," says Ingo Hoffman, global partner director to Microsoft at ERP vendor SAP AG. "We cannot just make our customers switch platforms in just a month."
Other independent software vendors make the same promise. "Of course we'll have full support for NT 4.0 for the foreseeable future," says Najaf Hussain, president of W. Quinn Associates. Inc. (www.wquinn.com), a storage resource management vendor. He says the goal is to listen to customers to find what they're doing and then support that end. W. Quinn's DickAdvisor and QuotaAdvisor are listed as "ready" for Windows 2000.
October or Bust
The good news is that there’s still time for application problems to be resolved. Many industry observers still don’t expect Windows 2000 to go into production use until late next year. "A lot of people are going to wait and kick the tires for a while before they make a decision," says Dwight Davis, Microsoft analyst at Summit Strategies Inc. (www.summitstrat.com). "You have to assume once you get past the millennium [change] companies will be looking to make up for lost ground. If [Microsoft] can hit the [release] date with 10 or 15 big companies saying they're running on the beta, they can sign more people up quickly," Davis says.