One problem that Microsoft continually faces is how its new technologies leapfrog the support of its development tools. The newly released Windows 2000 contains significant new support for component development, making distributed application development easier than ever before. But Visual Studio 6.0 was released back in September 1998, when the new component features in Windows 2000 were but a twinkle in Microsoft's eye. This means that the tools in Visual Studio do not contain native support for many of the new COM+ features in Windows 2000. Worse, some of the old ways of doing things are no longer the best way. So Microsoft has released the Windows 2000 Developer's Readiness Kit for Visual Studio 6.0 owners. The kit is a collection of new documentation, plenty of links to information on its Web site, and a few enhancements so that developers can begin taking advantage of Windows 2000.
Unfortunately, real support for all the features in Windows 2000 will have to wait for the next release of Visual Studio, which has not yet been announced by Microsoft.
Not An Upgrade
I originally assumed that something called a Readiness Kit would be an upgrade. That is, I expected some minor upgrades to the Visual Studio tools, or at least a service pack that activated disabled features in the development tools for use in Windows 2000. I was wrong. Still, I did find a wealth of information, samples, and sources of even more informationin short, more than I can ever hope to absorb.
The biggest part of the Readiness Kit is documentation for what is different about Windows 2000 development. If nothing else, the Kit pulls together in one place a tremendous amount of documentation and information for modifying applications to make effective use of Windows 2000 features.
The Windows 2000 Compatibility Guide details many of the architectural changes that will affect applications. Backward compatibility annoys me somewhat, because it generally leaves too much detritus in both the operating system and development tools. Historically, Microsoft has been fairly careful to have a good reason to break existing applications. But there is so much new support for applications in Windows 2000 that it was inevitable that some applications would break. One of the design goals for the operating system was reliability, for example, and Microsoft says that it was inevitable that some compatibility would break in deference to reliability.
The Compatibility Guide is categorized into four areas: setup and installation, operating system changes that may affect your applications, application stability, and differences between the Windows Platforms, all written as a series of KnowledgeBase articles. There is also a compatibility Q&A with Kyle Marsh, a Microsoft Technical Evangelist, and an overly detailed step-by-step list for testing "legacy" applications. This section of the Kit is a good place to spend some time browsing to find out how Windows 2000 will affect your existing applications. Research here can lead you to other areas of the Kit that you need to better understand for your particular applications.
The Application Specification for Windows 2000 was "developed by Microsoft in cooperation with customers and third party developers" as a set of standards for applications that conform to the look and feel of typical Windows applications. These specifications form the core of the Windows Logo program, but whether or not you're interested in logo certification, adhering to the specifications can make your applications easier to use and "good neighbors" when installed on a client or server machine.
The Application Specification has two versions: a core specification for desktop applications, and a more comprehensive specification for distributed applications. The desktop version has information about what goes where when an app is installed, how application settings are retained, component sharing, power technologies that must be supported, and so on. The distributed version of the specifications has most of that, plus sections about security, support for the active directory, and clustering.
The main benefits of adhering to these specifications is that your applications will look and feel like other Windows applications, which saves on user training, and properly take advantage of the support features in the operating system.
Two short videos are included in which folks from Carnegie-Mellon and Credit Suisse discuss the application specification and how wonderful it is for their uses. These are moderately interesting because both these organizations were involved in the development of the specification, but the videos definitely come across like marketing fluff.
Building Solutions with Visual Studio
The Kit includes plenty of information specific to Visual Studio development, but really only for applications developed with Visual C++ and Visual Basic. Each of these two languages has its own Building Solutions for Microsoft Windows 2000 course, with several chapters about how to take advantage of specific Windows 2000 features in each development tool. These are based on the format pioneered by Microsoft's Mastering CD-ROM series, with text, labs, and other resources.
The version of the Readiness Kit I have has only three of the chapters from each course, but there is a link to Microsoft's Web site where you can work through all of the material. The first seven chapters in each course cover the same ground-customized for VC++ or VB, of course-including using the Windows Installer, sharing side-by-side components, responding to power events, and integrating with the active directory. The VB course adds a chapter about programming the COM+ services, while the VC++ course adds chapters for advanced active directory integration, extending the active directory, and securing applications.
Developing for COM+ Services is a set of presentations that go into some depth about COM+ and how to develop applications based on them. 11 of the 12 presentations are available in three forms: as a streaming media presentation of PowerPoint slides and audio, as PowerPoint slides, and as a transcript of the session in a Word document. One session, on COM+ performance, has only a transcript. These sessions provide plenty of information and an appreciable amount of marketing fluff as well. Some of the material is showing its age, so choose wisely where you spend your time. But for specific topics that you need to get a solid overview on, these can be invaluable.
In the Online Seminars section of the Kit, there are three more PowerPoint and audio sessions, covering the Windows Installer, application compatibility, and the OnNow power features.
New Support Programs
The Readiness Kit has information about the Microsoft Windows 2000 Readiness Program for Applications and Developers, with one program targeted at independent software vendors (ISVs) and the other at corporate application developers and third party solution developers. Both programs are free, other than presumably Microsoft can include you in their count of the legions of Windows 2000 developers.
For ISVs, the program provides technical support and marketing opportunities when you register your commercial software applications for the Windows 2000 Applications Directory. It also includes free developer support and co-advertising opportunities.
For corporate application developers and third party solution providers, the program provides technical resources and training opportunities for your custom software applications when you sign up for the Windows 2000 Online Special Interest Group (OSIG).
The balance of the Readiness Kit documentation consists of some useful technical whitepapers and links to other resources.
The only upgraded tool of any significance is the new Visual Studio Installer, which replaces the original Package and Deployment Wizard for most installation tasks. The Installer is built on Windows 2000's new Windows Installer technology that uses a database-driven approach to installing applications. Rather than creating an installation package with a customized setup.exe file, compressed .CAB files, and supporting list files, the Installer creates an .MSI database that a standard setup program built-into Windows 2000 uses to install and repair applications. The Windows Installer is available for earlier 32-bit versions of Windows, but you have to distribute additional files with your application.
New and Improved
When you insert the Kit's CD and fire it up, you are presented with a well-organized user interface that does an effective job of organizing a lot of information in a relatively compact window. It's a bit surprising that Microsoft seems to have created a new interface for this tool, when it has so many established and familiar ways of presenting this kind of information. It also violates their own Windows 2000 application specifications - the interface lacks support for keyboard navigation.
You get a lot of information on the CD itself, but you'll also find a lot of links to other material on Microsoft's Web site. This is a good thing, since the Kit came out before the final release of Windows 2000 and not everything was ready for placement on the CD. So be sure to take the advice when given to click a link to get the latest versions of the information.
There isn't much here that isn't available on its Web site, but Microsoft has done a fine job of putting together in one place a collection of everything you need to get up and running with Windows 2000-specific applications quickly.
The Windows 2000 Developer's Readiness Kit is included with Microsoft Developer Network (MSDN) subscriptions. Licensed owners of Visual Studio 6.0 can also order a copy at http://msdn.microsoft.com/vstudio/order/default.asp.
Don Kiely is a Software Technologist at Third Sector Technologies in Fairbanks, Alaska, and has written and co-written several programming books.