Zertifizierungsanforderungen für Windows-Desktop-Apps
Dokumentversion: 10
Dokumentdatum: 29. Juli 2015
Dieses Dokument enthält die technischen Anforderungen und Berechtigungsqualifikationen, die eine Desktop-App erfüllen muss, um am Windows 10 Desktop App Certification Program teilzunehmen.
Willkommen!
Die Windows-Plattform unterstützt ein breites Ökosystem von Produkten und Partnern. Das Anzeigen des Windows auf Ihrem Produkt stellt eine Beziehung und eine gemeinsame Verpflichtung zur Qualität zwischen Microsoft und Ihrem Unternehmen dar. Kunden vertrauen der Windows Marke für Ihr Produkt, da sie sicherstellt, dass sie Kompatibilitätsstandards erfüllt und auf der Windows funktioniert. Wenn Sie Windows App-Zertifizierung erfolgreich bestehen, kann Ihre App im Windows Compatibility Center präsentiert werden, und Sie können das Zertifizierungslogo auf Ihrer Website anzeigen.
Das Windows-App-Zertifizierungsprogramm besteht aus Programm- und technischen Anforderungen, um sicherzustellen, dass Apps von Drittanbietern, die die Windows-Marke tragen, auf PCs, auf denen Windows. Kunden schätzen Stabilität, Kompatibilität, Zuverlässigkeit, Leistung und Qualität in den systemen, die sie kaufen. Microsoft konzentriert sich auf seine Investitionen, um diese Anforderungen für Software-Apps zu erfüllen, die auf der Windows für PCs ausgeführt werden. Dazu gehören Kompatibilitätstests zur Konsistenz der Benutzererfahrung, verbesserte Leistung und erhöhte Sicherheit auf PCs, auf denen Windows wird. Microsoft-Kompatibilitätstests wurden in Zusammenarbeit mit Branchenpartnern entwickelt und werden als Reaktion auf Branchenentwicklung und Verbrauchernachfrage kontinuierlich verbessert.
Das Windows App Certification Kit wird verwendet, um die Konformität mit diesen Anforderungen zu überprüfen, und ersetzt alle früheren Versionen des Kits, die für die Überprüfung auf Windows 7, Windows 8 oder Windows 8.1. Das Windows App Certification Kit ist eine der Komponenten, die im Windows Software Development Kit (SDK) für Windows 10.
App-Berechtigung
Damit sich eine App für die Zertifizierung Windows 10 Desktop-App qualifizieren kann, muss sie die folgenden Kriterien und alle technischen Anforderungen erfüllen, die in diesem Dokument aufgeführt sind.
- Es muss sich um eine eigenständige App
- Er muss auf einem lokalen Computer Windows 10 werden.
- Es kann eine Clientkomponente einer zertifizierten Windows Server-App sein.
- Es muss code- und feature complete sein.
- Es darf nicht mit Windows Store-Apps über lokale Mechanismen kommunizieren, einschließlich über Dateien und Registrierungsschlüssel, außer in den unterstützten Unternehmensszenarien.
- Die Sicherheit oder Funktionalität des Systems darf nicht gefährdet Windows werden.
- Er muss einen eindeutigen Namen haben und darf nicht durch andere Marken geschützt werden.
- Alle externen Komponenten müssen separat zertifiziert werden oder mit dem Windows App Certification Kit kompatibel sein.
- Sie muss über eine Abmeldeoption für alle gebündelten Apps verfügen.
Wenn die Desktop-App an die Produktkategorie Anti-Virus und/oder Anti-Spyware (d. h. Antischadsoftware) übermittelt wird, muss sie den RICHTLINIEN für die ANTIMALWARE-PLATTFORM entsprechen. Der WINDOWS 10 ANTIMALWARE API LICENSE AND LISTING AGREEMENT muss vor der Übermittlung unterzeichnet und in Kraft sein. Der Partner muss Mitglied einer der in der Vereinbarung aufgeführten Organisationen sein oder Forscher haben, die Mitglieder von und in gutem Rang sind. Die Funktionalität muss von einer der in der Vereinbarung Windows 10 zertifiziert werden. Die App muss in den letzten 12 Monaten mindestens einmal getestet und für die Erkennung und Bereinigung zertifiziert worden sein.
1. Apps sind kompatibel und resilient
Die Zeiten, in denen eine App abstürzt oder nicht mehr reagiert, führen zu viel Benutzermut. Von Apps wird erwartet, dass sie resilient und stabil sind, und die Beseitigung solcher Fehler trägt dazu bei, dass Software besser vorhersagbar, versetzbar, leistungsfähig und vertrauenswürdig ist.
- 1.1 Ihre App darf keine Abhängigkeit von Windows Kompatibilitätsmodi, der AppHelp-Meldung und anderen Kompatibilitätskorrekturen übernehmen.
1.2 Ihre App muss über ein Kompatibilitätsmanifest verfügen und die entsprechenden GUIDs für die unterstützten Versionen von Windows
1.3 Ihre App muss DPI-bewusst sein, indem sie das Assemblymanifest der Anwendung verwendet und nicht SetProcessDPIAware aufruft.
1.4 Ihre App darf keine Abhängigkeit von der VB6-Runtime verwenden.
1.5 Ihre App darf keine beliebigen DLLs laden, um Win32-API-Aufrufe mit hklm Software Microsoft Windows NT CurrentVersion Windows \ \ \ \ \ AppInit _ dlls abzufangen.
2. Apps müssen Windows bewährten Sicherheitsmethoden einhalten.
Die Windows bewährten Sicherheitsmethoden hilft dabei, die Gefährdung durch Windows zu vermeiden. Angriffsflächen sind die Einstiegspunkte, die ein böswilliger Angreifer verwenden kann, um das Betriebssystem auszunutzen, indem er Sicherheitsrisiken in der Zielsoftware nutzt. Eine der schlechtesten Sicherheitsrisiken ist die Rechteerweiterung.
Beachten Sie, dass tests 2.1 2.6 nur für Desktop-Apps gelten, die auf Windows 7, Windows 8 oder Windows 8.1.
- 2.1 Ihre App muss starke und geeignete ACLs verwenden, um ausführbare Dateien zu schützen.
2.2 Ihre App muss starke und geeignete ACLs verwenden, um Verzeichnisse zu schützen.
2.3 Ihre App muss starke und geeignete ACLs verwenden, um Registrierungsschlüssel zu schützen.
2.4 Ihre App muss starke und geeignete ACLs verwenden, um Verzeichnisse zu schützen, die Objekte enthalten.
2.5 Ihre App muss den Zugriff ohne Administratorrechte auf Dienste reduzieren, die anfällig für Manipulationen sind.
2.6 Ihre App muss verhindern, dass Dienste mit schnellen Neustarts alle 24 Stunden mehr als zweimal neu gestartet werden.
Hinweis: Der Zugriff sollte nur den Entitäten gewährt werden, die ihn benötigen.
Das Windows-App-Zertifizierungsprogramm überprüft, ob Windows-Angriffsoberflächen nicht verfügbar gemacht werden, indem überprüft wird, ob ACLs und Dienste so implementiert sind, dass das Windows system nicht gefährdet ist.
3. Apps unterstützen Windows Sicherheitsfeatures
Das Windows-Betriebssystem verfügt über viele Features, die Die Sicherheit und den Datenschutz des Systems unterstützen. Apps müssen diese Features unterstützen, um die Integrität des Betriebssystems zu gewährleisten. Falsch kompilierte Apps können Pufferüberläufe verursachen, die wiederum zu Denial-of-Service-Angriffen führen oder die Ausführung von schädlichem Code zulassen können.
- 3.1 Ihre App darf AllowPartiallyTrustedCallersAttribute (APTCA) nicht verwenden, um den sicheren Zugriff auf Assemblys mit starkem Namen sicherzustellen.
3.2 Ihre App muss mit dem Flag /SafeSEH kompiliert werden, um eine sichere Ausnahmebehandlung sicherzustellen.
3.3 Ihre App muss mit dem Flag /NXCOMPAT kompiliert werden, um die Datenausführung zu verhindern.
3.4 Ihre App muss mit dem Flag /DYNAMICBASE für die zufällige Anordnung des Adressraumlayouts (ADDRESS Space Layout Randomization, ASLR) kompiliert werden.
3.5 Ihre App darf die freigegebenen PE-Abschnitte nicht lesen/schreiben.
4. Apps müssen Meldungen des Systemneustart-Managers einhalten.
Wenn Benutzer das Herunterfahren initiieren, haben sie in der Regel den starken Wunsch, dass das Herunterfahren erfolgreich ist. Sie müssen möglicherweise das Büro verlassen und möchten lediglich, dass ihre Computer ausgeschaltet werden. Apps müssen diesen Wunsch achten, indem sie das Herunterfahren nicht blockieren. In den meisten Fällen ist ein Herunterfahren möglicherweise nicht entscheidend, aber Apps müssen auf die Möglichkeit eines kritischen Herunterfahrens vorbereitet werden.
- 4.1 Ihre App muss kritische Herunterfahren entsprechend behandeln.
- Bei einem kritischen Herunterfahren werden Apps, die FALSE an WM QUERYENDSESSION zurückgeben, WM ENDSESSION gesendet und geschlossen, während diejenigen, für die als Reaktion auf _ _ WM QUERYENDSESSION ein Time out erfolgt, _ beendet werden.
- WM \_ QUERYENDSESSION with LPARAM = ENDSESSION \_ CLOSEAPP(0x1).
Konsolen-Apps können SetConsoleCtrlHandler aufrufen, um die Funktion anzugeben, die Benachrichtigungen zum Herunterfahren verarbeitet. Dienst-Apps können RegisterServiceCtrlHandlerEx aufrufen, um die Funktion anzugeben, die Benachrichtigungen zum Herunterfahren erhält.
- WM \_ ENDSESSION with LPARAM = ENDSESSION \_ CLOSEAPP(0x1).
Die App sollte zumindest vorbereiten, indem alle Benutzerdaten gespeichert und die Informationen, die nach einem Neustart benötigt werden, gespeichert werden.
5. Apps müssen eine saubere, umkehrbare Installation unterstützen.
Mit einer sauberen, umkehrbaren Installation können Benutzer Apps auf ihren Systemen erfolgreich verwalten (bereitstellen und entfernen).
- 5.1 Ihre App muss eine saubere, umkehrbare Installation ordnungsgemäß implementieren.
- DisplayName
- InstallLocation
- Publisher
- UninstallString
- VersionMajor oder MajorVersion
- VersionMinor oder MinorVersion
- Wenn bei der Installation ein Fehler auftritt, sollte die App in der Lage sein, ein Rollback für den Computer zu starten und den vorherigen Zustand wiederherzustellen.
- Ein Neustart des Computers sollte nie die einzige Option am Ende einer Installation, Deinstallation oder eines Updates sein. Benutzer sollten die Möglichkeit haben, später neu zu starten.
- Windows Inventurtools und Telemetrietools erfordern vollständige Informationen zu installierten Apps. Wenn Sie ein MSI-basiertes Installationsprogramm verwenden, erstellt MSI automatisch die folgenden Registrierungseinträge. Wenn Sie kein MSI-Installationsprogramm verwenden, muss das Installationsmodul während der Installation die folgenden Registrierungseinträge erstellen:
6. Apps müssen Dateien und Treiber digital signieren
Mit einer digitalen Authenticode-Signatur können Benutzer sicherstellen, dass die Software original ist. Außerdem kann erkannt werden, ob eine Datei manipuliert wurde, z. B. wenn sie mit einem Virus infiziert wurde. Die Erzwingung von Codesignaturen im Kernelmodus ist ein Windows-Feature, das als Codeintegrität (CI) bezeichnet wird und die Sicherheit des Betriebssystems verbessert, indem die Integrität einer Datei jedes Mal überprüft wird, wenn das Image der Datei in den Arbeitsspeicher geladen wird. CI erkennt, ob schädlicher Code eine Binärdatei des Systems geändert hat. Generiert außerdem ein Diagnose- und Systemüberwachungsprotokollereignis, wenn die Signatur eines Kernelmoduls nicht ordnungsgemäß überprüft werden kann.
- 6.1 Alle ausführbaren Dateien (.exe, .dll, .ocx, .sys, .cpl, .drv, .scr) müssen mit einem Authenticode-Zertifikat signiert werden.
6.2 Alle von der App installierten Kernelmodustreiber müssen über eine Microsoft-Signatur verfügen, die über das Windows Hardwarezertifizierungsprogramm erhalten wurde. Alle Dateisystemfiltertreiber müssen von Microsoft signiert werden.
6.3 Ausnahmen und Ausnahmen
- Außerkraftstellungen werden nur für nicht signierte Weiterverteilte von Drittanbietern berücksichtigt, mit Ausnahme von Treibern. Ein Kommunikationsnachweis, der eine signierte Version der weiterverteilten Verteilbaren an fordert, ist erforderlich, damit dieser Antrag gewährt wird.
7. Apps blockieren die Installation oder den App-Start nicht basierend auf einer Überprüfung der Betriebssystemversion.
Es ist wichtig, dass Kunden die Installation oder Ausführung ihrer App nicht künstlicher Art blockieren, wenn keine technischen Einschränkungen bestehen. Im Allgemeinen sollten Apps, die für Windows Vista oder höher von Windows geschrieben wurden, nicht die Betriebssystemversion überprüfen müssen.
- 7.1 Ihre App darf keine Versionsüberprüfungen auf Gleichheit durchführen.
- Apps, die als ein Paket bereitgestellt werden, das auch unter Windows 7, Windows 8 und Windows 8.1 ausgeführt wird und die Betriebssystemversion überprüfen müssen, um zu bestimmen, welche Komponenten unter einem bestimmten Betriebssystem installiert werden sollen.
- Apps, die nur die Mindestversion des Betriebssystems überprüfen (nur während der Installation, nicht zur Laufzeit), indem sie nur die genehmigten API-Aufrufe verwenden und die Mindestversionsanforderung im App-Manifest ordnungsgemäß auflisten.
- Sicherheits-Apps (Antivirensoftware, Firewall usw.), Systemprogramme (z. B. Defragmentierung, Sicherungen und Diagnosetools), die die Betriebssystemversion nur mithilfe der genehmigten API-Aufrufe überprüfen.
- Wenn Sie ein bestimmtes Feature benötigen, überprüfen Sie, ob das Feature selbst verfügbar ist. Wenn Sie Windows 7 benötigen, überprüfen Sie, ob Windows 7 oder höher (>= 6.2) ist. Auf diese Weise funktioniert Ihr Erkennungscode weiterhin an zukünftigen Versionen Windows. Treiberinstallations- und Deinstallationsmodule sollten nie die Betriebssystemversion überprüfen.
8. Apps laden keine Dienste oder Treiber im abgesicherten Modus
Tresor-Modus ermöglicht Benutzern die Diagnose und Problembehandlung Windows. Treiber und Dienste dürfen nicht so festgelegt werden, dass sie im abgesicherten Modus geladen werden, es sei denn, sie sind für grundlegende Systemvorgänge von wie Speichergerätetreiber oder für Diagnose- und Wiederherstellungszwecke wie Virenscanner erforderlich. Wenn sich Windows im abgesicherten Modus befindet, werden standardmäßig nur die Treiber und Dienste gestartet, die mit vorinstalliert Windows.
- 8.1 Ausnahmen und Ausnahmen
- Treiber und Dienste, die im abgesicherten Modus gestartet werden müssen, erfordern eine Ausnahme. Die Anforderung für Dies ist mit jedem anwendbaren Treiber oder Dienst erforderlich, der bzw. der in die SafeBoot-Registrierungsschlüssel schreibt. Außerdem müssen die technischen Gründe dafür beschrieben werden, warum die App oder der Dienst im abgesicherten Modus ausgeführt werden muss. Das App-Installationsprogramm muss alle diese Treiber und Dienste mithilfe dieser Registrierungsschlüssel registrieren:
Hinweis: Sie müssen diese Treiber und Dienste testen, um sicherzustellen, dass sie fehlerfrei im abgesicherten Modus funktionieren.
9. Apps müssen die Richtlinien für die Benutzerkontensteuerung befolgen.
Einige Windows-Apps werden im Sicherheitskontext eines Administratorkontos ausgeführt, und Apps fordern häufig übermäßige Benutzerrechte und Windows Berechtigungen an. Durch die Steuerung des Zugriffs auf Ressourcen können Benutzer die Kontrolle über ihre Systeme haben und sie vor unerwünschten Änderungen schützen. Eine unerwünschte Änderung kann böswillig sein, z. B. ein Rootkit, das die Kontrolle über den Computer übernimmt, oder das Ergebnis einer Aktion von Personen mit eingeschränkten Berechtigungen sein. Die wichtigste Regel zum Steuern des Zugriffs auf Ressourcen besteht in der Bereitstellung der geringsten Zugriffsmenge an Standardbenutzerkontext, die ein Benutzer zum Ausführen der erforderlichen Aufgaben benötigt. Die folgenden Richtlinien zur Benutzerkontensteuerung (User Account Control, UAC) bieten einer App die erforderlichen Berechtigungen, wenn sie von der App benötigt werden, ohne dass das System ständig Sicherheitsrisiken ausgesetzt bleibt. Die meisten Apps erfordern zur Laufzeit keine Administratorrechte und sollten als Standardbenutzer in Ordnung sein.
- 9.1 Ihre App muss über ein Manifest verfügen, das Ausführungsebenen definiert und dem Betriebssystem anfordert, welche Berechtigungen die App für die Ausführung benötigt.
- Verwaltungs- oder Systemtools mit der Ausführungsebene highestAvailable und/oder requireAdministrator
- Nur die Framework-App für Barrierefreiheit oder Benutzeroberflächenautomatisierung legt das uiAccess-Flag auf TRUE fest, um die Benutzeroberflächen-Berechtigungsisolation (UIPI) zu umgehen. Um die App-Auslastung ordnungsgemäß zu starten, muss dieses Flag authenticode signiert sein und sich an einem geschützten Speicherort im Dateisystem befinden, nämlich Programme.
- Die App-Manifestmarkierung gilt nur für EXEs, nicht für DLLs. Dies liegt daran, dass die UAC dlLs während der Prozesserstellung nicht überprüft. Beachten Sie auch, dass UAC-Regeln nicht für die Microsoft-Dienste. Das Manifest kann eingebettet oder extern sein.
Um ein Manifest zu erstellen, erstellen Sie eine Datei mit dem Namen .exe.manifest, und speichern Sie sie im gleichen Verzeichnis _ wie die EXE. Beachten Sie, dass jedes externe Manifest ignoriert wird, wenn die App über ein internes Manifest verfügt. Beispiel:
<requestedExecutionLevel level=""asInvoker | highestAvailable | requireAdministrator"" uiAccess=""true | false""/>
- Alle administrativen Funktionen müssen in einen separaten Prozess verschoben werden, der mit Administratorrechten ausgeführt wird. Für Benutzer zugängliche Apps, z. B. Apps, auf die über die Programmgruppe im Startmenü zugegriffen werden kann und für die eine Erhöhung erforderlich ist, muss Authenticode signiert sein.
- Eine Ausnahme ist für Apps erforderlich, die ihren Hauptprozess mit erhöhten Rechten ausführen (requireAdministrator oder highestAvailable). Der Hauptprozess wird als Einstiegspunkt des Benutzers für die App identifiziert. Ausnahmen werden für die folgenden Szenarien in Betracht gezogen:
10. Apps müssen standardmäßig in den richtigen Ordnern installiert werden.
Benutzer sollten über eine konsistente und sichere Umgebung mit dem Standardinstallationsspeicherort von Dateien verfügen und gleichzeitig die Option beibehalten, eine App am Speicherort ihrer Wahl zu installieren. Es ist auch erforderlich, App-Daten am richtigen Speicherort zu speichern, damit mehrere Personen denselben Computer verwenden können, ohne die Daten und Einstellungen des jeweils anderen zu beschädigt oder zu überschreiben. Windows stellt bestimmte Speicherorte im Dateisystem zum Speichern von Programmen und Softwarekomponenten, freigegebenen App-Daten und App-Daten für einen Benutzer zur Verfügung.
- 10.1 Ihre App muss standardmäßig im Ordner "Programme" installiert sein.
- Führen Sie die Registrierungsschlüssel HKLM und oder HKCU unter Software \ Microsoft \ Windows \ CurrentVersion aus.
- Registrierungsschlüssel HKLM und oder HKCU unter Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion
- Startmenü AllPrograms > STARTUP
- Für native 32-Bit- und 64-Bit-Apps in %ProgramFiles%, und %ProgramFiles(x86)% für 32-Bit-Apps, die unter x64 ausgeführt werden. Benutzer- oder App-Daten dürfen aufgrund der für diesen Ordner konfigurierten Sicherheitsberechtigungen nie an diesem Speicherort gespeichert werden.
- Ihre App sollte z. B. keine der folgenden Bedingungen festlegen:
- Verwenden Sie die richtigen Methoden zum Installieren von Dateien, z. B. Schriftarten oder Treiber.
- Wenn die App installiert ist, gibt es keinen richtigen Benutzerspeicherort zum Speichern von Daten. Versuche einer App, das Standardverhalten von Zuordnungen auf Computerebene nach der Installation zu ändern, sind nicht erfolgreich. Stattdessen müssen Standardwerte auf Benutzerebene beansprucht werden, wodurch verhindert wird, dass mehrere Benutzer die Standardwerte der anderen Benutzer überschreiben.
- Apps, die in den globalen Assemblycache (GAC) schreiben, müssen Assemblyabhängigkeiten privat halten und im App-Verzeichnis speichern, es sei denn, die Freigabe einer Assembly ist explizit erforderlich.
11. Apps müssen Sitzungen mit mehreren Benutzer unterstützen.
Windows Benutzer sollten gleichzeitige Sitzungen ohne Konflikte oder Unterbrechungen ausführen können.
- 11.1 Ihre App muss sicherstellen, dass die normale Funktionalität der App nicht beeinträchtigt wird, wenn sie in mehreren Sitzungen lokal oder remote ausgeführt wird.
11.2 Die Einstellungen und Datendateien Ihrer App dürfen nicht benutzerübergreifend beibehalten werden.
11.3 Der Datenschutz und die Einstellungen eines Benutzers müssen auf die Sitzung des Benutzers isoliert werden.
11.4 Die Instanzen Ihrer App müssen voneinander isoliert sein.
- Dies bedeutet, dass Benutzerdaten aus einer Instanz für eine andere Instanz der App nicht sichtbar sind. Sound in einer inaktiven Benutzersitzung sollte in einer aktiven Benutzersitzung nicht gehört werden. In Fällen, in denen mehrere App-Instanzen freigegebene Ressourcen verwenden, muss die App sicherstellen, dass kein Konflikt besteht.
- Weitere Informationen finden Sie in den UAC-Anforderungen.
12. Apps müssen x64-Versionen von Windows
Mit zunehmender 64-Bit-Hardware erwarten Benutzer, dass App-Entwickler die Vorteile der 64-Bit-Architektur nutzen, indem sie ihre Apps zu 64-Bit migrieren oder dass 32-Bit-Versionen der App gut unter 64-Bit-Versionen von Windows.
- 12.1 Ihre App muss nativ 64-Bit-Apps unterstützen, oder mindestens 32-Bit-Windows-basierte Apps müssen nahtlos auf 64-Bit-Systemen ausgeführt werden, um die Kompatibilität mit 64-Bit-Versionen von Windows
12.2 Ihre App und ihre Installationsprogramme dürfen keinen 16-Bit-Code enthalten oder sich auf eine 16-Bit-Komponente verlassen.
12.3 Das Setup Ihrer App muss die richtigen Treiber und Komponenten für die 64-Bit-Architektur erkennen und installieren.
12.4 Alle Shell-Plug-Ins müssen auf 64-Bit-Versionen von Windows
12.5 Die App, die unter dem WoW64-Emulator ausgeführt wird, sollte nicht versuchen, Wow64-Virtualisierungsmechanismen zu unter- oder zu umgehen.
- Wenn es bestimmte Szenarien gibt, in denen Apps erkennen müssen, ob sie unter dem WoW64-Emulator ausgeführt werden, sollten sie dies durch Aufrufen von IsWow64Process tun.
Zusammenfassung
Wenn sich diese Anforderungen weiterentwickeln, werden wir die Änderungen im Revisionsverlauf unten notieren. Stabile Anforderungen sind wichtig, um Ihre beste Arbeit zu erreichen, daher möchten wir sicherstellen, dass die vorgenommenen Änderungen dauerhaft sind und Ihre Apps weiterhin schützen und verbessern.
Vielen Dank, dass Sie sich erneut für unsere Verpflichtung zur Bereitstellung hervorragender Kundenerfahrungen verpflichtet haben.
Revisionsverlauf
| Date | Version | Revisionsbeschreibung | Link zum Dokument |
|---|---|---|---|
| 20. Dezember 2011 | 1.0 | Ursprünglicher Dokumententwurf für die Vorschau. | |
| 26. Januar 2012 | 1.1 | Aktualisieren Sie auf Abschnitt # 2. | 1.1 |
| 31. Mai 2012 | 1.2 | Zusammenfassung der Testergebnisse hinzugefügt | 1.2 |
| 29. Juni 2012 | 3.0 | Windows 8 Endgültiges Dokument | 3.0 |
| 18. Juni 2013 | 3.1 | Windows 8.1-Dokument | 3.1 |
| 20. Februar 2014 | 3.2 | Internes Update | |
| 18. März 2014 | 3.3 | Windows 8.1 Update 1 | 3.3 |
| 29. Juli 2015 | 10 | Windows 10 Update | 10 |
Weitere Informationen zur Zertifizierung von Desktop-Apps
| Anforderung | BESCHREIBUNG |
| Kompatibilität und Resilienz | Abstürze & hängen, sind eine erhebliche Störung für Benutzer und führen zu Frust. Es wird erwartet, dass Apps resilient und stabil sind. Durch die Beseitigung solcher Fehler wird sichergestellt, dass Die Software besser vorhersagbar, versiert, leistungsfähig und vertrauenswürdig ist. Der Einstiegspunkt für die Benutzer-App muss aus Kompatibilitäts- und Deklarations-Sicht der richtigen GUID manifestiert werden. App-Einstiegspunkte für Benutzer müssen für HIGH-DPI-Informationen angezeigt werden und dass die richtigen APIs aufgerufen werden, um HIGH-DPI zu unterstützen. Weitere Informationen finden Sie unter: |
| Befolgen Windows-Sicherheit bewährten Methoden | Die Windows bewährten Sicherheitsmethoden hilft dabei, die Gefährdung durch Windows zu vermeiden. Angriffsflächen sind die Einstiegspunkte, die ein böswilliger Angreifer verwenden kann, um das Betriebssystem auszunutzen, indem er Sicherheitsrisiken in der Zielsoftware nutzt. Eine der schlechtesten Sicherheitsrisiken ist die Rechteerweiterung. Weitere Informationen finden Sie unter: |
| Unterstützung Windows-Sicherheit Features | Das Windows Betriebssystem hat viele Maßnahmen zur Unterstützung der Systemsicherheit und des Datenschutzes implementiert. Anwendungen müssen diese Maßnahmen unterstützen, um die Integrität des Betriebssystems zu gewährleisten. Falsch kompilierte Anwendungen können Pufferüberläufe verursachen, die wiederum einen Denial-of-Service-Angriff verursachen oder böswilligen Code ausführen lassen könnten. Weitere Informationen finden Sie in der BinScope-Toolreferenz. |
| Befolgen von System Restart Manager-Meldungen | Wenn Benutzer das Herunterfahren initiieren, haben sie in den meisten Fällen den starken Wunsch, dass das Herunterfahren erfolgreich ist. Sie müssen möglicherweise das Büro verlassen und möchten " lediglich, " dass ihre Computer ausgeschaltet werden. Apps müssen diesen Wunsch achten, indem sie das Herunterfahren nicht blockieren. In den meisten Fällen ist ein Herunterfahren möglicherweise nicht entscheidend, aber Apps müssen auf die Möglichkeit eines kritischen Herunterfahrens vorbereitet werden. |
| Bereinige umkehrbare Installation | Mit einer sauberen, umkehrbaren Installation können Benutzer Apps auf ihren Systemen erfolgreich verwalten (bereitstellen und entfernen). Weitere Informationen finden Sie unter How to: Install Prerequisites with a ClickOnce Application. |
| Digitales Signieren von Dateien und Treibern | Mit einer digitalen Authenticode-Signatur können Benutzer sicherstellen, dass die Software original ist. Außerdem kann erkannt werden, ob eine Datei manipuliert wurde, z. B. wenn sie mit einem Virus infiziert wurde. Die Erzwingung von Codesignaturen im Kernelmodus ist ein Windows-Feature, das als Codeintegrität (CI) bezeichnet wird und die Sicherheit des Betriebssystems verbessert, indem die Integrität einer Datei jedes Mal überprüft wird, wenn das Image der Datei in den Arbeitsspeicher geladen wird. CI erkennt, ob schädlicher Code eine Binärdatei des Systems geändert hat. Generiert außerdem ein Diagnose- und Systemüberwachungsprotokollereignis, wenn die Signatur eines Kernelmoduls nicht ordnungsgemäß überprüft werden kann. |
| Installation oder App-Start basierend auf der Überprüfung der Betriebssystemversion nicht blockieren | Es ist wichtig, dass Kunden die Installation oder Ausführung ihrer App nicht künstlicher Art blockieren, wenn keine technischen Einschränkungen bestehen. Im Allgemeinen sollten Apps, die für Windows Vista oder höher geschrieben wurden, keinen Grund haben, die Betriebssystemversion zu überprüfen. Weitere Informationen finden Sie unter Betriebssystemversionsierung. |
| Dienste und Treiber nicht im Tresor laden | Tresor-Modus ermöglicht Benutzern die Diagnose und Problembehandlung Windows. Sofern dies nicht für grundlegende Vorgänge des Systems (z. B. Speichergerätetreiber) oder für Diagnose- und Wiederherstellungszwecke (z. B. Virenschutzscanner) erforderlich ist, dürfen Treiber und Dienste nicht so festgelegt werden, dass sie im abgesicherten Modus geladen werden. Standardmäßig startet der abgesicherte Modus die meisten Treiber und Dienste nicht, die noch nicht vorinstalliert Windows. Sie sollten deaktiviert bleiben, es sei denn, das System erfordert sie für grundlegende Vorgänge oder für Diagnose- und Wiederherstellungszwecke. Weitere Informationen finden Sie unter: |
| Befolgen der Richtlinien für die Benutzerkontensteuerung (User Account Control, UAC) | Einige Windows App werden im Sicherheitskontext eines Administratorkontos ausgeführt, und viele erfordern übermäßige Benutzerrechte und Windows Berechtigungen. Die Steuerung des Zugriffs auf Ressourcen ermöglicht es Benutzern, die Kontrolle über ihre Systeme gegen unerwünschte Änderungen zu haben (eine unerwünschte Änderung kann böswillig sein, z. B. ein Rootkit, das den Computer verdeckt übernimmt, oder eine Aktion von Personen, die eingeschränkte Berechtigungen haben, z. B. ein Mitarbeiter, der unzulässige Software auf einem Arbeitscomputer installiert). Die wichtigste Regel zum Steuern des Zugriffs auf Ressourcen besteht in der Bereitstellung der geringsten Zugriffsmenge an Standardbenutzerkontext, die ein Benutzer zum Ausführen der erforderlichen Aufgaben benötigt. Die Folgenden UAC-Richtlinien bieten der App bei Bedarf die erforderlichen Berechtigungen, ohne dass das System ständig Sicherheitsrisiken ausgesetzt bleibt. Weitere Informationen finden Sie unter: |
| Standardmäßige Installation in den richtigen Ordnern | Benutzer sollten über eine konsistente und sichere Umgebung mit dem Standardinstallationsspeicherort von Dateien verfügen und gleichzeitig die Option beibehalten, eine App an dem von ihnen festgelegten Speicherort zu installieren. Es ist auch erforderlich, App-Daten am richtigen Speicherort zu speichern, damit mehrere Personen denselben Computer verwenden können, ohne die Daten und Einstellungen des jeweils anderen zu beschädigt oder zu überschreiben. Weitere Informationen finden Sie unter Zusammenfassung der Installations-/Deinstallationsanforderungen. |
| Unterstützen von Sitzungen mit mehreren Benutzer | Windows Benutzer sollten gleichzeitige Sitzungen ohne Konflikte oder Unterbrechungen ausführen können. Weitere Informationen finden Sie unter Remotedesktopdienste Programming Guidelines (Programmierrichtlinien). |
| Unterstützung von x64-Versionen Windows | Mit zunehmender 64-Bit-Hardware erwarten Benutzer, dass App-Entwickler die Vorteile der 64-Bit-Architektur nutzen, indem sie ihre Apps zu 64-Bit migrieren oder dass 32-Bit-Versionen der App gut unter 64-Bit-Versionen von Windows ausgeführt werden. |