Version 1.0a
January 21, 2000
Microsoft Corporation
Summary: The "Application Specification for Microsoft Windows 2000 for Desktop Applications: Design Guide for Building Business Applications" was developed by Microsoft in cooperation with customers and third-party party developers to identify the technical definition of the model business application for Windows 2000. This specification will help software developers take advantage of the new technologies in Windows 2000 so that your application is more manageable, more reliable, and reduces cost of ownership for your customers. It is intended for developers of all kinds, including independent software vendors and corporate application developers. (87 printed pages)
Acknowledgments
Welcome
Checklists for Windows Certification
Chapter 1: Windows Fundamentals
Chapter 2: Windows Install Service
Chapter 3: Component Sharing
Chapter 4: Data and Settings Management
Chapter 5: User Interface Fundamentals
Chapter 6: OnNow/ACPI Support
Chapter 7: Application Migration
Appendix A: Best Practices
Appendix B: Product Distribution Issues
Appendix C: Development Tools
Appendix D: International and Localized Versions
Appendix E: Revision History
Glossary
Microsoft wishes to thank the following organizations for their technical review, feedback, and consideration in the drafting of this specification. Their feedback was invaluable to help guide the content of this specification to better meet the needs of enterprise customers.
The "Application Specification for Microsoft Windows 2000 for Desktop Applications: Design Guide for Building Business Applications" was developed by Microsoft® in cooperation with customers and 3rd party developers to identify the technical definition of the model business application for Windows® 2000. This specification will help software developers take advantage of the new technologies in Windows 2000 so that your application is more manageable, more reliable, and reduces cost of ownership for your customers. It is intended for developers of all kinds, including independent software vendors and corporate application developers.
The specification has two versions. This document details the requirements for desktop applications. There is a similar specification for building server applications, available at: http://msdn.microsoft.com/certification/default.asp.
An application that meets this specification:
Your customers will get the greatest benefits when running your application on Windows 2000 Professional. The same application can also run on down-level operating systems (e.g. Windows® NT Workstation 4.0, Windows® 98, and Windows® 95). Many of these benefits will also accrue to customers running your application on down-level operating systems.
The Application Specification for Windows 2000 defines the technical requirements for applications to earn the "Certified for Microsoft Windows" logo. Applications may carry the "Certified for Microsoft Windows" logo once they have passed compliance testing and have executed a logo license agreement with Microsoft. This logo lets your customers know that your application offers a high quality computing experience on Windows.
Applications that comply with this Desktop Specification may be Certified for any of the following operating systems:
You may choose from the combinations of platforms as shown in the logos below in Figure 1. Note that Windows 2000 Professional is always included.
Figure 1. Windows logos
The logo you receive will indicate the version(s) of Windows for which your product is certified. The checklist on the next page shows which parts of the specification are required for Certification on each platform.
Compliance testing for the Certified for Windows program is performed by VeriTest, an independent testing lab, using the latest released versions of the operating systems, including any service packs. Currently these are:
For additional information on how to test for the "Certified for Windows" logo, see: www.veritest.com/mslogos/windows2000/.
Resource | Address |
"Certified for Windows" Logo Program | http://msdn.microsoft.com/certification/default.asp |
Server Application Specification for Windows 2000 | http://msdn.microsoft.com/library/specs/w2kserve.htm |
Certified for Windows information e-mail | Winlogo@microsoft.com |
VeriTest Logo site | www.veritest.com/mslogos/windows2000/ |
VeriTest Logo Lab email | LogoLab@veritest.com |
Windows 2000 Developer Information | http://msdn.microsoft.com/windows2000 |
Knowledge Base | http://search.support.microsoft.com/kb/c.asp |
Microsoft Platform SDK (Software Developer Kit) (Documents the Win32® and Win64™ application programming interfaces [APIs]) | Provided with Microsoft Developer Network (MSDN) Professional Subscription. To subscribe, visit: http://msdn.microsoft.com/subscriptions |
Win 95 |
Win 98 |
NT W4 |
Win 2000 |
Windows Fundamentals |
X | X | X | X | 1.1 Perform primary functionality and maintain stability |
X | X | X | X | 1.2 Provide 32-bit components and document any 16-bit code |
X | X | X | X | 1.3 Support Long File Names and UNC paths |
X | X | X | X | 1.4 Support printers with long names and UNC paths |
X | X | 1.5 Do not read from or write to Win.ini, System.ini, Autoexec.bat or Config.sys on any Windows operating system based on NT technology | ||
X | X | X | X | 1.6 Ensure non-hidden files outside of your application directory have associated file-types with icons, descriptions, and actions |
X | X | X | X | 1.7 Perform Windows version checking correctly |
X | X | X | X | 1.8 Support AutoPlay of compact discs |
X | 1.9 Any kernel mode drivers that your application installs must pass verification testing on Windows 2000 | |||
X | X | X | 1.10 Any hardware drivers included with your application must pass WHQL testing |
Win 95 |
Win 98 |
NT W4 |
Win 2000 |
Windows Installer Service |
X | X | X | X | 2.1 Install using a Windows Installer-based package that passes validation testing |
X | X | X | X | 2.2 Observe rules in componentization |
X | X | X | X | 2.3 Identify shared components |
X | X | X | X | 2.4 Install to Program Files by default |
X | X | X | X | 2.5 Support Add/Remove Programs properly |
X | X | X | X | 2.6 Ensure that your application supports advertising |
X | X | X | X | 2.7 Ensure correct uninstall support |
Win 95 |
Win 98 |
NT W4 |
Win 2000 |
Component Sharing |
X | 3.1 Do not attempt to replace files that are protected by Windows File Protection | |||
X | X | 3.2 Component producers: Build side-by-side components | ||
X | X | 3.3 Application developers: Consume and install side-by-side components | ||
X | X | X | X | 3.4 Install any non side-by-side shared files to the correct locations |
Win 95 |
Win 98 |
NT W4 |
Win 2000 |
Data and Settings Management |
X | X | X | X | 4.1 Default to My Documents for storage of user-created data |
X | X | X | X | 4.2 Classify and store application data correctly |
X | X | 4.3 Degrade gracefully on access denied | ||
X | X | 4.4 Run in a secure Windows environment | ||
X | 4.5 Adhere to system-level Group Policy settings | |||
X | 4.6 Applications that create ADM files must properly store their ADM file settings in the registry |
Win 95 |
Win 98 |
NT W4 |
Win 2000 |
User Interface Fundamentals |
X | X | X | X | 5.1 Support standard system size, color, font, & input settings |
X | X | X | X | 5.2 Ensure compatibility with the High Contrast option |
X | X | X | X | 5.3 Provide documented keyboard access to all features |
X | X | X | X | 5.4 Expose the location of the keyboard focus |
X | X | X | X | 5.5 Do not rely exclusively on sound |
X | X | X | X | 5.6 Do not place shortcuts to documents, help, or uninstall in the Start Menu |
X | X | 5.7 Support multiple monitors |
Win 95 |
Win 98 |
NT W4 |
Win 2000 |
OnNow/ACPI Support |
X | X | 6.1 For applications allowed to prevent sleep when busy, indicate busy application status properly | ||
X | X | 6.2 In the non-connected state, your application must allow sleep and resume normally | ||
X | X | 6.3 In the connected state, handle sleep notifications properly | ||
X | X | 6.4 Handle wake from normal sleep without losing data | ||
X | X | 6.5 Handle wake from critical sleep properly |
Win 95 |
Win 98 |
NT W4 |
Win 2000 |
Application Migration |
X | X | X | 7.1 Application must continue to function after upgrade to Windows 2000 Professional without reinstall |