Developing Windows 2000 Certified Applications by dBI8Y9J

VIEWS: 4 PAGES: 31

									                         ®
Developing Windows 2000
Certified Applications


Richard Clay
Program Manager
Windows Infrastructure
Microsoft Corporation

7-312
Windows 2000 Certification
The new Logo program
Benefits Of Certification:
   Most manageable and reliable
    applications on Windows 2000
   Your customers can purchase a
    known entity
   Certified applications reduce TCO
    According to Gartner:
       Compliant applications reduced
        desktop TCO by 3 percent
       Compliant applications make it easier
        to adopt ZAW features
Certification/‘Designed For’
What changed in the Logo program?

   Based on internal and external feedback
    and reviews
   Specifications focused and testable
   Certified means it passed testing on the
    requirements
   Much more rigorous testing
   Public test results
   Very limited exceptions
What Does “Ready” mean?
Windows 2000 Ready applications:
   ISV tested compatibility with Windows 2000
   ISV commits to support on Windows 2000
   Approximately 8500 listed at
    http://microsoft.com/windows2000/upgrade/compat
   No requirement to exploit features
   No published test results
   “Ready” is not on the path to certify
   Do not receive a Logo
Specification
   Requirements came from internal and
    external input
   Requirements are testable
   Specifications are stable
   Goal: meaning of existing certifications
    won’t change
   New certifications will sometimes be
    introduced with new platforms
Desktop Specification
Windows Fundamentals

   Document any 16-bit code
   Support long file names, UNC paths,
    and long printer names
   Do not write to Win.ini, etc
   Files have associated file-types
   Check Windows version correctly
   Hardware drivers must pass WHQL
Desktop Specification
Windows Fundamentals

   Document any 16-bit code
   Support long file names, UNC
    paths, and long printer names
   Do not write to Win.ini, etc
   Files have associated file-types
   Check Windows version correctly
   Hardware drivers must pass WHQL
Desktop Specification
Windows Installer Service

   Use Windows Installer-based
    package
   Identify shared components
   Install to Program Files by default
   Support Add/Remove Programs
   Support advertising
   Ensure correct uninstall
Desktop Specification
Component Sharing

   Do not violate Windows File
    Protection
   Build side-by-side components
   Consume and install side-by-side
    components
   Install any non side-by-side shared
    files to the correct locations
Desktop Specification
Data and Settings Management

   My Documents for user-created data
   Classify and store application data
   Degrade gracefully on access denied
   Run in a secure Windows
    environment
   System-level Group Policy settings
   Register ADM file settings
Desktop Specification
User Interface Fundamentals

   Standard system size, color, font, etc.
   Ensure compatibility with the High
    Contrast option
   Provide documented keyboard access
   Expose keyboard focus
   No shortcuts to documents, help, or
    uninstall on the Start Menu
   Support multiple monitors
Desktop Specification
OnNow/ACPI Support

   Indicate busy application status
    properly
   In the non-connected state, allow
    sleep and resume normally
   Handle sleep notifications properly
   Handle wake from normal sleep
    without losing data
   Handle wake from critical sleep
Desktop Specification
Application Migration

   Application must continue to
    function after upgrade to
    Windows 2000 Professional
    without reinstall
Desktop Specification
Best Practices

   Do not require a reboot
   Use SHGetFolderPath
   Support Terminal Services
   Clients query Active Directory™
    for Services
   Globalization and Localizability
   Accessibility Considerations
   Use 64-bit compatible data types
Server Specification
Comparison with Desktop

   Includes much of the desktop
    requirements: UI, Fundamentals,
    Install/Uninstall, etc.
   Does not include MSI, advertising,
    component sharing, OnNow, multi-
    mon, data management, etc.
Server Specification
Active Directory

   Use Active Directory appropriately
   Document the storage and replication
   Document use of objects and
    attributes from base schema
   Must be “globally interesting”
   Must not exceed 1MB total
   Adhere to Active Directory Schema
    extensibility rules
Server Specification
Security Services

   Document services that require
    more than User level privileges
    to run
   Win32® clients running in the
    context of a trusted domain account
    must support Single Sign-On
Server Specification
Cluster Service

   Applications must be able to install
    on 2 nodes for Advanced Server (up
    to 4 nodes for Datacenter Server)
   Applications must support failover
    to all cluster nodes
   Clients must survive failure of
    server application without crashing
    or affecting the stability of the
    system
Server Specification
Best Practices

   Do not require a reboot
   Use SHGetFolderPath
   Support Terminal Services
   Globalization and Localizability
   Use 64-bit compatible data types
   Considerations for Cluster Service
Server Specification
Best Practices

   Considerations for Cluster Service
   Windows Management
    Instrumentation
   MMC snap-in for management tools
   Expose a COM-based scripting model
   Use COM+ for Distributed Apps
   Run without NetBIOS
Test Plan And Framework
   Published test plan and test framework
    http://msdn.microsoft.com/certification/download.asp
   Test Plan for Desktop applications
   Test Framework for Server
   Tests cover virtually all requirements in
    the specification
Testing Preparation
   Internal pretesting using published
    plans and tools
   Pre-testing labs
   Custom test system configuration
   Applications won’t pass by accident
   VeriTest and Vendor create
    functionality test plan
Testing And Test Results
   Several functionality tests are run
   No interim ‘good news’ reports during
    formal testing
   Vendor reviews the report before it is
    made public
   Test results must be public for
    certification
    http://www.veritest.com/mslogos/windows2000/
Exceptions Process
   Issues often identified in pre-testing
   Standard exceptions automatically
    given without escalating
   All escalations come through VeriTest
   120 day deferrals require a
    legal agreement
Exceptions Criteria
   Exceptions and deferrals must meet
    all of:
       Difficult/impossible to implement solution
       Issue has very limited or no
        customer impact
       Fair treatment to competitors
Top Ten Causes Of Failure
6    Doesn’t Support High Contrast modes
7    Doesn’t Support Long Printer Names
8    Invalid Windows Version Checking
9    Not based on Windows Installer
10   Doesn’t support Advertised Installation
Top Ten Causes Of Failure
1 Not fully reading the Application
  Specification before submitting
1½ Not meeting with a TAM – it’s free!
2 No support for OnNow/ACPI
3 Not all files have File Associations
4 Some Features do not have
  Keyboard Access
5 Doesn’t support Long Path and
   File Names
Useful Links
   Microsoft certification FAQs,
    downloads, etc.:
    http://msdn.microsoft.com/certification/

   VeriTest test results, TAMs, etc.:
    http://www.veritest.com/mslogos/windows2000/

   Accessibility FAQ:
    http://www.microsoft.com/enable/dev/guidelines/logo.htm

   Guidelines for Accessible Software
    http://www.microsoft.com/enable/dev/guidelines/software.htm

								
To top