What Tests Do You Need?
The platform tests are broken up into two main areas: operating system tests and other components. You should initially aim to pass the fundamental operating system "core" tests; the other components tests essentially provide "extra points" for ISVs trying to qualify for the Microsoft Certified Partner program.
The core platform tests are the Windows Server and Windows Client tests. The Windows Server test verifies that your server components:
- Execute correctly on Windows Server 2003.
- Do not leak memory, locks, or handles.
- Do not attempt to replace files under Windows File Protection. Windows file protection maintains a list of operating system files, and actively monitors them for changes. If a protected file is changed, WFP will automatically restore the file from a backup it creates. Applications that use the Windows Installer will generally conform to this requirement.
The test also requires that your server application meets at least one of the following conditions:
- Does not require a reboot after installation or un-installation.
- Installs without disabling services (other than any services that are a part of your application).
- Supports Active Directory.
- Supports Windows Management Instrumentation (WMI).
- Uses SharePoint Services.
- Uses ASP.NET.
The Windows Client test verifies that your client components execute correctly on Windows 2000 Professional or XP and (just like the Windows Server test) the Windows Client test checks that your application does not leak memory, locks, or handles, and does not attempt to replace files under Windows File Protection.
The test also requires that your client application meets at least one of the following conditions:
The "Other Components" Tests:
- Does not require a reboot after installation, or un-installation.
- Supports "All users" installation.
- Supports fast user switching in Windows XP.
- Runs successfully as a "limited user." Applications should not write to restricted parts of the registry. Settings should be stored in a subdirectory of the logged-on user's Documents and Settings folder (Documents and Settings/Application Data/Your Application is recommended), or in the HKEY_CURRENT_USER hive of the system registry.
The other tests generally apply only if you are performing the Platform tests to gain points for the Microsoft partner program. Each test your application passes gives you an extra 10 points towards the 50 points required to join the program. Basically, these are "bonus points" for implementing Microsoft technologies in your application. These tests provide an indication of the kinds of tools and technologies being actively promoted by Microsoft, so if you implement some (or all) of them, you'll be able to leverage some of Microsoft's current marketing campaigns.
The SQL Server platform test applies if your application uses SQL server. It requires that you use ADO/ADO.NET, OLEDB, ODBC, or JDBC to connect SQL server, and that you either check for SQL Server service pack 3 or support both SQL Server authentication and Windows Authentication.
The Office test applies if your application contains a COM, VBA, or VSTO add-in, or exposes data using the Office 2003 Research and Reference feature or Smart Tags. If you can demonstrate your add-in or support for Research and Reference/Smart Tags, your application passes the test.
The Managed Code platform test applies if your application is written using the Microsoft .NET framework. The only requirement is that all application executables (DLLs and EXEs) are in managed code. You can use FXCop to check that all your DLLs and EXEs are in managed code, or you can try to load each DLL and EXE in your application using the ILDASM tool (ILDASM is one of the .NET Framework Toolsit installs by default as part of Visual Studio).
The Web Services .NET Framework test (this test is also called ".NET Connected" in some Microsoft literature) applies if your application consumes or exposes a public Web service, and is written using the Microsoft .NET platform. If you are exposing a Web service, it must support XML Schema, SOAP 1.1, WSDL 1.1, and if you are using a directory service, UDDI 2.0.
If your application consumes a Web service, using the .NET framework qualifies your application for the Web Services .NET Framework test, and there are no special requirements for the use of WSDL, UDDI, or any other protocols.