developing windows ® 2000 certified applications richard clay program manager windows...
TRANSCRIPT
Developing WindowsDeveloping Windows®® 2000 2000 Certified Applications Certified Applications
Richard ClayRichard ClayProgram ManagerProgram ManagerWindows InfrastructureWindows InfrastructureMicrosoft CorporationMicrosoft Corporation
7-3127-312
Windows 2000 CertificationWindows 2000 CertificationThe new Logo programThe new Logo program
Benefits Of Certification: Benefits Of Certification:
Most manageable and reliable Most manageable and reliable applications on Windows 2000applications on Windows 2000
Your customers can purchase a Your customers can purchase a known entityknown entity
Certified applications reduce TCO Certified applications reduce TCO According to Gartner:According to Gartner: Compliant applications reduced Compliant applications reduced
desktop TCO by 3 percentdesktop TCO by 3 percent Compliant applications make it easier Compliant applications make it easier
to adopt ZAW featuresto adopt ZAW features
Certification/‘Designed For’Certification/‘Designed For’What changed in the Logo program?What changed in the Logo program?
Based on internal and external Based on internal and external feedback and reviewsfeedback and reviews
Specifications focused and testableSpecifications focused and testable Certified means it passed testing on the Certified means it passed testing on the
requirementsrequirements Much more rigorous testingMuch more rigorous testing Public test resultsPublic test results Very limited exceptionsVery limited exceptions
What Does “Ready” mean?What Does “Ready” mean?Windows 2000 Ready applications:Windows 2000 Ready applications:
ISV tested compatibility with Windows 2000ISV tested compatibility with Windows 2000 ISV commits to support on Windows 2000ISV commits to support on Windows 2000 Approximately 8500 listed atApproximately 8500 listed at
http://microsoft.com/windows2000/upgrade/compathttp://microsoft.com/windows2000/upgrade/compat No requirement to exploit featuresNo requirement to exploit features No published test resultsNo published test results ““Ready” is not on the path to certifyReady” is not on the path to certify Do not receive a LogoDo not receive a Logo
SpecificationSpecification
Requirements came from internal and Requirements came from internal and external input external input
Requirements are testableRequirements are testable Specifications are stableSpecifications are stable Goal: meaning of existing certifications Goal: meaning of existing certifications
won’t changewon’t change New certifications will sometimes be New certifications will sometimes be
introduced with new platformsintroduced with new platforms
Desktop SpecificationDesktop SpecificationWindows FundamentalsWindows Fundamentals
Document any 16-bit code Document any 16-bit code Support long file names, UNC paths, Support long file names, UNC paths,
and long printer namesand long printer names Do not write to Win.ini, etcDo not write to Win.ini, etc Files have associated file-types Files have associated file-types Check Windows version correctly Check Windows version correctly Hardware drivers must pass WHQLHardware drivers must pass WHQL
Desktop SpecificationDesktop SpecificationWindows FundamentalsWindows Fundamentals
Document any 16-bit code Document any 16-bit code Support long file names, UNC Support long file names, UNC
paths, and long printer namespaths, and long printer names Do not write to Win.ini, etcDo not write to Win.ini, etc Files have associated file-types Files have associated file-types Check Windows version correctly Check Windows version correctly Hardware drivers must pass WHQLHardware drivers must pass WHQL
Desktop SpecificationDesktop SpecificationWindows Windows Installer ServiceInstaller Service
Use Windows Installer-based Use Windows Installer-based packagepackage
Identify shared componentsIdentify shared components Install to Program Files by defaultInstall to Program Files by default Support Add/Remove ProgramsSupport Add/Remove Programs Support advertisingSupport advertising Ensure correct uninstallEnsure correct uninstall
Desktop SpecificationDesktop SpecificationComponent SharingComponent Sharing
Do not violate Windows File Do not violate Windows File ProtectionProtection
Build side-by-side componentsBuild side-by-side components Consume and install side-by-side Consume and install side-by-side
componentscomponents Install any non side-by-side shared Install any non side-by-side shared
files to the correct locationsfiles to the correct locations
Desktop SpecificationDesktop SpecificationData and Settings ManagementData and Settings Management
My Documents for user-created dataMy Documents for user-created data Classify and store application dataClassify and store application data Degrade gracefully on access deniedDegrade gracefully on access denied Run in a secure Windows Run in a secure Windows
environmentenvironment System-level Group Policy settingsSystem-level Group Policy settings Register ADM file settingsRegister ADM file settings
Desktop SpecificationDesktop SpecificationUser Interface FundamentalsUser Interface Fundamentals
Standard system size, color, font, etc.Standard system size, color, font, etc. Ensure compatibility with the High Ensure compatibility with the High
Contrast optionContrast option Provide documented keyboard accessProvide documented keyboard access Expose keyboard focusExpose keyboard focus No shortcuts to documents, help, or No shortcuts to documents, help, or
uninstall on the Start Menuuninstall on the Start Menu Support multiple monitorsSupport multiple monitors
Desktop SpecificationDesktop SpecificationOnNow/ACPI SupportOnNow/ACPI Support
Indicate busy application status Indicate busy application status properlyproperly
In the non-connected state, allow In the non-connected state, allow sleep and resume normally sleep and resume normally
Handle sleep notifications properlyHandle sleep notifications properly Handle wake from normal sleep Handle wake from normal sleep
without losing datawithout losing data Handle wake from critical sleepHandle wake from critical sleep
Desktop SpecificationDesktop SpecificationApplication MigrationApplication Migration
Application must continue to Application must continue to function after upgrade to function after upgrade to Windows 2000 Professional Windows 2000 Professional without reinstallwithout reinstall
Desktop SpecificationDesktop SpecificationBest PracticesBest Practices
Do not require a reboot Do not require a reboot Use SHGetFolderPath Use SHGetFolderPath Support Terminal Services Support Terminal Services Clients query Active DirectoryClients query Active Directory™™
for Servicesfor Services Globalization and LocalizabilityGlobalization and Localizability Accessibility ConsiderationsAccessibility Considerations Use 64-bit compatible data typesUse 64-bit compatible data types
Server SpecificationServer SpecificationComparison with DesktopComparison with Desktop
Includes much of the desktop Includes much of the desktop requirements: UI, Fundamentals, requirements: UI, Fundamentals, Install/Uninstall, etc.Install/Uninstall, etc.
Does not include MSI, advertising, Does not include MSI, advertising, component sharing, OnNow, multi-component sharing, OnNow, multi-mon, data management, etc.mon, data management, etc.
Server SpecificationServer SpecificationActive Directory Active Directory
Use Active Directory appropriately Use Active Directory appropriately Document the storage and replicationDocument the storage and replication Document use of objects and Document use of objects and
attributes from base schemaattributes from base schema Must be “globally interesting” Must be “globally interesting” Must not exceed 1MB totalMust not exceed 1MB total Adhere to Active Directory Schema Adhere to Active Directory Schema
extensibility rulesextensibility rules
Server SpecificationServer SpecificationSecurity ServicesSecurity Services
Document services that require Document services that require more than User level privileges more than User level privileges to runto run
Win32Win32®® clients running in the clients running in the context of a trusted domain account context of a trusted domain account must support Single Sign-Onmust support Single Sign-On
Server SpecificationServer SpecificationCluster ServiceCluster Service
Applications must be able to install Applications must be able to install on 2 nodes for Advanced Server on 2 nodes for Advanced Server (up (up to 4 nodes for Datacenter Server)to 4 nodes for Datacenter Server)
Applications must support failover Applications must support failover to all cluster nodesto all cluster nodes
Clients must survive failure of Clients must survive failure of server application without crashing server application without crashing or affecting the stability of the or affecting the stability of the systemsystem
Server SpecificationServer SpecificationBest PracticesBest Practices
Do not require a rebootDo not require a reboot Use SHGetFolderPathUse SHGetFolderPath Support Terminal Services Support Terminal Services Globalization and LocalizabilityGlobalization and Localizability Use 64-bit compatible data typesUse 64-bit compatible data types Considerations for Cluster ServiceConsiderations for Cluster Service
Server SpecificationServer SpecificationBest PracticesBest Practices
Considerations for Cluster ServiceConsiderations for Cluster Service Windows Management Windows Management
Instrumentation Instrumentation MMC snap-in for management tools MMC snap-in for management tools Expose a COM-based scripting model Expose a COM-based scripting model Use COM+ for Distributed AppsUse COM+ for Distributed Apps Run without NetBIOSRun without NetBIOS
Test Plan And FrameworkTest Plan And Framework
Published test plan and test frameworkPublished test plan and test frameworkhttp://msdn.microsoft.com/certification/download.asphttp://msdn.microsoft.com/certification/download.asp
Test Plan for Desktop applicationsTest Plan for Desktop applications Test Framework for ServerTest Framework for Server Tests cover virtually all requirements in Tests cover virtually all requirements in
the specificationthe specification
Testing PreparationTesting Preparation
Internal pretesting using published Internal pretesting using published plans and toolsplans and tools
Pre-testing labsPre-testing labs Custom test system configurationCustom test system configuration Applications won’t pass by accident Applications won’t pass by accident VeriTest and Vendor create VeriTest and Vendor create
functionality test planfunctionality test plan
Testing And Test ResultsTesting And Test Results
Several functionality tests are runSeveral functionality tests are run No interim ‘good news’ reports during No interim ‘good news’ reports during
formal testingformal testing Vendor reviews the report before it is Vendor reviews the report before it is
made publicmade public Test results must be public for Test results must be public for
certification certification http://www.veritest.com/mslogos/windows2000/http://www.veritest.com/mslogos/windows2000/
Exceptions ProcessExceptions Process
Issues often identified in pre-testingIssues often identified in pre-testing Standard exceptions automatically Standard exceptions automatically
given without escalatinggiven without escalating All escalations come through VeriTestAll escalations come through VeriTest 120 day deferrals require a 120 day deferrals require a
legal agreementlegal agreement
Exceptions CriteriaExceptions Criteria
Exceptions and deferrals must meet Exceptions and deferrals must meet all of:all of: Difficult/impossible to implement solutionDifficult/impossible to implement solution Issue has very limited or no Issue has very limited or no
customer impactcustomer impact Fair treatment to competitorsFair treatment to competitors
Top Ten Causes Of FailureTop Ten Causes Of Failure
66 Doesn’t Support High Contrast modesDoesn’t Support High Contrast modes
77 Doesn’t Support Long Printer NamesDoesn’t Support Long Printer Names
88 Invalid Windows Version CheckingInvalid Windows Version Checking
99 Not based on Windows InstallerNot based on Windows Installer
1010 Doesn’t support Advertised InstallationDoesn’t support Advertised Installation
Top Ten Causes Of FailureTop Ten Causes Of Failure
11 Not fully reading the Application Not fully reading the Application Specification before submittingSpecification before submitting
1½1½ Not meeting with a TAM – it’s free! Not meeting with a TAM – it’s free!
22 No support for OnNow/ACPINo support for OnNow/ACPI
33 Not all files have File AssociationsNot all files have File Associations
44 Some Features do not have Some Features do not have Keyboard AccessKeyboard Access
55 Doesn’t support Long Path and Doesn’t support Long Path and File Names File Names
Useful LinksUseful Links
Microsoft certification FAQs, Microsoft certification FAQs, downloads, etc.:downloads, etc.:http://msdn.microsoft.com/certification/http://msdn.microsoft.com/certification/
VeriTest test results, TAMs, etc.:VeriTest test results, TAMs, etc.:http://www.veritest.com/mslogos/windows2000/http://www.veritest.com/mslogos/windows2000/
Accessibility FAQ:Accessibility FAQ:http://www.microsoft.com/enable/dev/guidelines/logo.htmhttp://www.microsoft.com/enable/dev/guidelines/logo.htm
Guidelines for Accessible Software Guidelines for Accessible Software http://www.microsoft.com/enable/dev/guidelines/software.htmhttp://www.microsoft.com/enable/dev/guidelines/software.htm