bonn-to-code.net Vista-Zertifizierung - wie geht das? – Ralf Karle
bonn-to-code.net Vista Zertifizierung ? Microsoft unterscheidet 2 verschiedene Zertifizierungen: Certified for Windows Vista Das "Certified for Windows Vista"-Logo ist eine Kompatibilitätskennzeichnung für Anwendungen und Geräte, die auf Computern mit Windows Vista einem strengen Testprogramm unterzogen wurden. Die technischen Anforderungen für diesen Nachweis betreffen vier Kernbereiche, und zwar Zuverlässigkeit, Sicherheit, Kompatibilität mit Windows Vista und zukünftigen Betriebssystemen sowie Installation und Deinstallation." bringt mehr Punkte beim Partner Programm schwerer zu erreichen Works with Windows Vista "Das "Works with Windows Vista"-Logo soll Maßnahmen fördern, mit denen die Kompatibilität der aktuellen Generation von Windows-basierten Anwendungen mit Windows Vista gewährleistet wird. Um diese Kennzeichnung zu erhalten, müssen Softwarehersteller ihre Anwendungen testen und sicherstellen, dass sie den Vorgaben des Programms entsprechen." bringt weniger Punkte Leichter zu erreichen
bonn-to-code.net Wozu ? Man darf mit dem Logo werben ! Die Software ist wirklich besser ! Baustein für eine Mitgliedschaft im Microsoft-Partner- Programm " Einschlägig zertifizierte Software ist das Ziel – damit punkten Sie nicht nur bei Ihren Kunden, sondern auch im Microsoft-Partner-Programm. Ihre Kunden erwarten, dass Ihre Softwarelösungen auf Industriestandards basieren und damit Investitionsschutz und langfristige Planbarkeit gewährleisten. Im Gegenzug sammeln Sie Partnerpunkte und legen so den Grundstein für Ihre Qualifikation als Certified oder Gold Certified Partner. Zudem erhalten Sie für bestimmte Tests ein Logo, das Sie in sämtlichen Marketingmaterialien verwenden dürfen. Faire und gleiche Startchancen für alle garantiert dabei unser ISV-Software-Testsystem."
bonn-to-code.net Grobablauf 1.Anwendung vorbereiten und vortesten 2.Winqual Account einrichten Benötigt eine "VeriSign Code-Signing ID" (~ $ pro Jahr) Test bei Veritest registrieren Bezahlen ( ~ 1000 $ hängt von der Sprache(n) ab) 5.Testpaket einsenden englische Installationsanleitung und Bedienungshinweise mitschicken ! 6.Testergebnis empfangen 7.Logo Lizenzbedingungen "unterschreiben" windows-vista.htm
bonn-to-code.net Ablauf Vorbereitung 1.Dokumente herunterladen und studieren Technical Guidance - Dokument Testcases - Dokument download.microsoft.com/download/a/5/d/a5d3d02a-fd03-466f-9ba8-97f5e7a90a98/CertifiedforWindowsVistaProgramTestCases.doc download.microsoft.com/download/a/5/d/a5d3d02a-fd03-466f-9ba8-97f5e7a90a98/CertifiedforWindowsVistaProgramTestCases.doc Dokument: Welche Applikationen kommen in Frage ? Technische Unterstützung per Support Forum Vortest Alle relevanten Testfälle des Testcase - Dokuments durchführen
bonn-to-code.net Testfälle Die Testfälle sind in folgende Gruppen unterteilt Sicherheit und Kompatibilität (Security and Compatibility) Installation Verlässlichkeit/Zuverlässigkeit (Reliability)
bonn-to-code.net Sicherheit und Kompatibilität TC1: Alle Executables enthalten ein Manifest (mit Execution level) TC2: Nutzer mit eingeschränkten Rechten kann nicht Dateien anderer Benutzer ändern TC3: Nutzer mit eingeschränkten Rechten kann nicht in Windows\System schreiben TC4: Die Installation enthält keine 16 Bit Code/Komponenten TC5: Alle Executables/DLLs / Dateien sind signiert ! Bei 3rd Party Assemblies (auch von MS) muss man einen Waiver beantragen TC6: Alle Kernel-mode Treiber sind signiert TC7: Die Betriebssystemversion wird korrekt abgefragt TC8: Die Anwendung unterstützt schnelle Benutzerumschaltung TC9: Die Anwendung kann per Remote-Desktop ausgeführt werden TC10: Treiber und Dienste starten im Safe-Mode
bonn-to-code.net Install/Uninstall TC11: Installationsprogramm muss ein Windows Installer sein TC12: MSI Installer ist konsistent (kein Problem mit VDProj) (mit Orca "MSI Validation Suite" ausführen und Fehler prüfen) TC13: Installer enthält ein Manifest (Bei.vdproj muss mit Hilfe von mt.exe ein manifest integriert werden) $(DevEnvDir)..\..\SDK\v2.0\bin\mt.exe -manifest $(ProjectDir)$(TargetName).exe.manifest -outputresource:$(TargetDir)$(TargetFileName);#1 TC14: Von der Installation gestartete Applikationen müssen den gleichen ExecutionLevel besitzen TC15: Die Applikation muss in die korrekten Ordner installieren ! Achtung: Problem bei Datenbankanwendungen ! Die Anwendung darf nur in Programme und Benutzer Datenverzeichnis schreiben "Alle Benutzer" (per Machine) Installationen dürfen nur ins Programmverzeichnis installiert werden, da wg. der Elevation kein Benutzerverzeichnis gesetzt ist. Daten müssen dann beim ersten Start kopiert/installiert werden. See: Shttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID= &SiteID=1 TC16: ClickOnce Applikationen müssen mit Authenticode Zertifikat signiert werden TC17: ClickOnce Applikationen dürfen während der Installation Daten nur in Benutzerverzeichnis ablegen und keine WRP Registrykeys ändern
bonn-to-code.net Install/Uninstall II TC18: MSI enthält Manufacturer, ProductCode, ProductLanguage, ProductName, ProductVersion und UpgradeCode TC19: Der Installer erzeugt Uninstall Registryschlüssel und – Werte. Achtung: bei VS 2005.vdproj werden nicht alle Variablen belegt Müssen per Orca per Transformation nach jedem Build eingetragen werden see: TC20: Der Installer versucht keine WRP (Windows Resource Protection) Schlüssel zu beschreiben see: Tool WRP Indentifier zur Analyse der AppVerifier logs: TC21: Installer darf keine "nested Custom actions" nutzen TC22: MSI Paket darf keine "custom columns" zu Standardtabelle hinzufügen TC23: Die Installation führt bei Fehlern ein Rollback aus und versetzt den Computer in den Ausgangszustand TC24: Kein Reboot während der Installation TC25: Der Installer muss ein "MsiRMFilesInUse" Dialog enthalten Achtung: bei VS 2005.vdproj ist dies nicht der Fall Muss per Orca per Transformation nach jedem Build eingetragen werden see:
bonn-to-code.net Install/Uninstall TC26: Applikation muss "quiet" install unterstützen TC27: MSI ComponentID Tabelle enthält keine NULL Werte TC28: MSI Paket enthält nur 1 COM Server pro Komponente TC29: MSI Paket enthält nur 1 Shortcut pro Komponente
bonn-to-code.net Verlässlichkeit/Zuverlässigkeit (Reliability) TC30: Die Anwendung reagiert korrekt auf den Restartmanager see: TC31: Bei den AppVerifier Checks darf die Anwendung nicht in den Debugger wechseln geprüft werden: Exceptions, Handles, Heaps, Locks, TLS and Basicchecks, DangerousAPI und DirtyStacks see: TC32: Die Anwendung behandelt nur bekannte Ausnahmen und unterstützt Windows Error Reporting (WER) see:
bonn-to-code.net Nützliche Links Artikel: Certified For Vista: How to ensure an application gets certified Tool: VeriTest-Rational Installation Analyzer: Vergleicht zwei Zustände einer Machine programs/microsoft/Certified-for-Windows/cfw_analyzer.htm programs/microsoft/Certified-for-Windows/cfw_analyzer.htm Tool WRP Indentifier :
bonn-to-code.net Links: Microsoft Partnerprogramm Artikel in der.NET Pro 7/2004: Das neue Microsoft-Partner-Programm