Tests des Zertifizierungskits für Windows-Apps für Windows Phone

Applies to Windows Phone only

Das Zertifizierungskit für Windows-Apps enthält eine Reihe von Tests, mit denen Sie sicherstellen können, dass Ihre Windows Phone 8.1-App für die Veröffentlichung im Store bereit ist.

TestnameMögliche TestergebnisseGetestete ZertifizierungsanforderungenBetriebssystem

Test der Erfüllung der Paketanforderungen

Bestanden

Fehlgeschlagen

Erfüllung technischer Anforderungen für das App-Manifest

Windows Phone 8.1

Anzahl der Anwendungen

Paketgrößenüberprüfung

Überprüfung des Bündelmanifests

Test der Windows-Sicherheitsfunktionen

Bestanden

Fehlgeschlagen

Analyzer für Binärdateien

Windows Phone 8.1

Analyzer für gesperrte Dateien

Private Codesignatur

Test der unterstützten APIs

Bestanden

Fehlgeschlagen

Unterstützte APIs

Windows Phone 8.1

Test der App-Manifestressourcen

Bestanden

Fehlgeschlagen

App-Ressourcenvalidierung

Windows Phone 8.1

Brandingvalidierung

Test der Debugkonfiguration

Bestanden

Fehlgeschlagen

Debugkonfiguration

Windows Phone 8.1

Dateicodierungstest

Bestanden

Fehlgeschlagen

UTF-8-Dateicodierung

Windows Phone 8.1

App-Funktionstest

Bestanden

Fehlgeschlagen

Funktionen zur speziellen Verwendung

Windows Phone 8.1

Windows-Runtime-Metadatenvalidierung

Bestanden

Fehlgeschlagen

Test auf Attribut "ExclusiveTo"

Windows Phone 8.1

Test auf Typstandort

Test auf richtige Groß-/Kleinschreibung von Typnamen

Test auf Richtigkeit von Typnamen

Test auf allgemeine Richtigkeit der Metadaten

Eigenschaftentest

Paketintegritätsüberprüfung

Bestanden

Fehlgeschlagen

Der Plattform entsprechende Dateien

Windows Phone 8.1

Paketvalidierung

Ressourcenverwendungstest

Bestanden

Fehlgeschlagen

Test für WinJS-Hintergrundaufgaben

Windows Phone 8.1

 

Tests für die Zertifizierung von Windows Phone 8.1-Apps

Test der Erfüllung der Paketanforderungen

Überprüft die Inhalte des Pakets auf ihre Gültigkeit.

Test der Erfüllung technischer Anforderungen für das App-Manifest

Überprüft die Inhalte des App-Manifests auf ihre Gültigkeit.

Hintergrund

Apps müssen ein korrekt formatiertes App-Manifest besitzen.

Testdetails

Überprüft das App-Manifest, um sicherzustellen, dass der Inhalt der Beschreibung in den Paketmetadatenanforderungen entspricht.

  • Dateierweiterungen und Protokolle

    Von der App können die Dateierweiterungen deklariert werden, die ihr zugeordnet werden sollen. Bei nicht korrekter Verwendung wird von einer App u. U. eine große Anzahl von Dateierweiterungen deklariert, von denen die meisten nicht verwendet werden. Darunter leidet die Benutzerfreundlichkeit. Mit diesem Test wird eine Überprüfung der Anzahl von Dateierweiterungen durchgeführt, die einer App zugeordnet werden können.

  • Framework-Abhängigkeitsregel

    Mit diesem Test wird die Anforderung durchgesetzt, dass für Windows Phone 8.1-Apps geeignete Abhängigkeiten von der Windows-Runtime bestehen. Für den Test tritt ein Fehler auf, wenn eine unzulässige Abhängigkeit besteht.

    FrameworkMindestversionAusführung unter Windows Phone 8.1 möglich

    Microsoft.VCLibs.120.00.Phone

    6.3.1

    Ja

     

    Liegt eine Nichtübereinstimmung zwischen der Betriebssystemversion, in der die App verwendet wird, und den bestehenden Frameworkabhängigkeiten vor, schlägt der Test fehl. Der Test schlägt auch fehl, wenn sich die App auf eine Vorschauversion der Framework-DLLs bezieht.

Maßnahmen

Gleichen Sie das App-Manifest mit den Paketmetadatenanforderungen ab.

Test der Windows-Sicherheitsfeatures

Hintergrund

Durch Ändern der standardmäßigen Windows-Sicherheitsvorkehrungen können Kunden einem erhöhten Risiko ausgesetzt werden.

Testdetails

Testet die Sicherheit der App durch Ausführen des BinScope Binary Analyzers.

Bei den BinScope Binary Analyzer-Tests werden die Binärdateien der App auf Code- und Erstellungsmerkmale untersucht, die die App weniger anfällig für Angriffe oder für die Verwendung als Angriffsmittel machen.

Die BinScope Binary Analyzer-Tests prüfen, ob folgende sicherheitsrelevante Features korrekt verwendet werden:

BinScope Binary Analyzer-Tests

Die BinScope Binary Analyzer-Tests untersuchen die Binärdateien der App auf Code- und Erstellungsmerkmale, die die App weniger anfällig für Angriffe oder für die Verwendung als Angriffsmittel machen.

Die BinScope Binary Analyzer-Tests prüfen, ob die sicherheitsrelevanten Features korrekt verwendet werden:

AllowPartiallyTrustedCallersAttribute

Fehlermeldung des Windows-Zertifizierungskits für Apps: APTCACheck Test failed (Fehler beim APTCACheck-Test.)

Das AllowPartiallyTrustedCallersAttribute-Attribut (kurz: APTCA-Attribut) ermöglicht den Zugriff auf vollständig vertrauenswürdigen Code aus teilweise vertrauenswürdigem Code in signierten Assemblys. Wenn Sie das APTCA-Attribut auf eine Assembly anwenden, können teilweise vertrauenswürdige Aufrufer diese Assembly aufrufen, solange die Assembly besteht. Dies kann ein Sicherheitsrisiko darstellen.

Was ist zu tun, wenn die App den Test nicht besteht?

Verwenden Sie das APTCA-Attribut nur dann für Assemblys mit starkem Namen, falls dies für das Projekt erforderlich ist und die Risiken bekannt sind. Falls das Attribut erforderlich ist, stellen Sie sicher, dass alle APIs durch geeignete Sicherheitsanforderungen für den Codezugriff geschützt sind. APTCA hat keine Auswirkung, wenn die Assembly Teil einer Windows Store-App ist.

Anmerkungen

Dieser Test wird nur für verwalteten Code (C#, .NET usw.) ausgeführt.

/SafeSEH-Ausnahmebehandlungsschutz

Fehlermeldung des Windows-Zertifizierungskits für Apps: SafeSEHCheck Test failed (Fehler beim SafeSEHCheck -Test.)

Ein Ausnahmehandler wird ausgeführt, wenn in der App eine Ausnahmebedingung auftritt – beispielsweise bei einem Fehler aufgrund einer Division durch Null. Da die Adresse des Ausnahmehandlers beim Aufrufen einer Funktion im Stapel gespeichert wird, besteht das Risiko eines Pufferüberlaufangriffs, sollte Schadsoftware den Stapel überschreiben.

Was ist zu tun, wenn die App den Test nicht besteht?

Aktivieren Sie beim Erstellen der App die Option "/SAFESEH" im Linker-Befehl. Diese Option ist in den Veröffentlichungskonfigurationen von Visual Studio standardmäßig aktiviert. Vergewissern Sie sich, dass diese Option in den Erstellungsanweisungen für alle alle ausführbaren Module Ihrer App aktiviert ist.

Anmerkungen

Für 64-Bit-Binärdateien oder für Binärdateien für den ARM-Chipsatz wird dieser Test nicht ausgeführt, da hier keine Ausnahmehandleradressen im Stapel gespeichert werden.

Datenausführungsverhinderung

Fehlermeldung des Windows-Zertifizierungskits für Apps: NXCheck Test failed (Fehler beim NXCheck-Test.)

Dieser Test stellt sicher, dass die App keinen Code ausführt, der in einem Datensegment gespeichert ist.

Was ist zu tun, wenn die App den Test nicht besteht?

Aktivieren Sie beim Erstellen der App die Option "/NXCOMPAT" im Linker-Befehl. Diese Option ist in Linker-Versionen mit Unterstützung der Datenausführungsverhinderung (Data Execution Prevention, DEP) standardmäßig aktiviert.

Anmerkungen

Wir empfehlen, Apps auf einer DEP-fähigen CPU zu testen und alle DEP-bedingten Fehler zu beheben.

Zufallsgestaltung des Adressraumlayouts

Fehlermeldung des Windows-Zertifizierungskits für Apps: DBCheck Test failed (Fehler beim DBCheck-Test.)

Die Zufallsgestaltung des Adressraumlayouts (Address Space Layout Randomization, ASLR) lädt ausführbare Bilder in unvorhersehbare Speicherbereiche. Dadurch wird eine größere Hürde für Schadsoftware geschaffen, die erwartet, dass ein Programm an einer bestimmten virtuellen Adresse geladen wird. Ihre App und alle von der App verwendeten Komponenten müssen über ASLR-Unterstützung verfügen.

Was ist zu tun, wenn die App den Test nicht besteht?

Aktivieren Sie beim Erstellen der App die Option "/DYNAMICBASE" im Linker-Befehl. Vergewissern Sie sich, dass auch alle von der App verwendeten Module diese Linker-Option verwenden.

Anmerkungen

ASLR hat in der Regel keine Auswirkungen auf die Leistung. In einigen Szenarios ist auf 32-Bit-Systemen aber eine geringfügige Leistungsverbesserung zu beobachten. Es ist möglich, dass sich die Leistung bei einem stark belasteten System verschlechtert, bei dem viele Bilder an vielen unterschiedlichen Speicherbereichen geladen sind.

Dieser Test wird nur für Apps ausgeführt, die in nicht verwaltetem Code geschrieben wurden, z. B. mit C# oder .NET Framework.

Lesen/Schreiben des freigegebenen PE-Abschnitts

Fehlermeldung des Zertifizierungskits für Windows-Apps: Fehler beim SharedSectionsCheck-Test.

Binärdateien mit beschreibbaren Abschnitten, die als freigegeben gekennzeichnet sind, stellen eine Sicherheitsbedrohung dar. Erstellen Sie keine Apps mit freigegebenen beschreibbaren Abschnitten, wenn dies nicht notwendig ist. Verwenden Sie CreateFileMapping oder MapViewOfFile, um ein freigegebenes Speicherobjekt zu erstellen, das korrekt gesichert ist.

Was ist zu tun, wenn die App den Test nicht besteht?

Entfernen Sie sämtliche freigegebene Abschnitte aus der App, und erstellen Sie freigegebene Speicherobjekte, indem Sie CreateFileMapping oder MapViewOfFile mit den passenden Sicherheitsattributen aufrufen und die App dann neu erstellen.

Anmerkungen

Dieser Test wird nur für Apps ausgeführt, die in nicht verwalteten Sprachen geschrieben wurden, z. B. mit C oder C++.

AppContainerCheck

Fehlermeldung des Zertifizierungskits für Windows-Apps: Fehler beim AppContainerCheck-Test.

Der AppContainerCheck-Test prüft, ob das appcontainer-Bit im PE-Header einer ausführbaren Binärdatei gesetzt ist. Für Windows Phone 8.1-Apps muss das appcontainer-Bit für alle EXE-Dateien und nicht verwalteten DLLs festgelegt sein, damit diese korrekt ausgeführt werden.

Was ist zu tun, wenn die App den Test nicht besteht?

Wenn der Test für eine systemeigene ausführbare Datei nicht erfolgreich ist, stellen Sie sicher, dass Sie zum Erstellen der Datei den aktuellen Compiler und Linker und für den Linker das Kennzeichen /appcontainer verwenden.

Wenn der Test für eine verwaltete ausführbare Datei nicht erfolgreich ist, stellen Sie sicher, dass Sie zum Erstellen der Windows Phone 8.1-App den aktuellen Compiler und Linker (beispielsweise Microsoft Visual Studio) verwenden.

Anmerkungen

Dieser Test wird für alle EXE-Dateien und nicht verwalteten DLLs ausgeführt.

ExecutableImportsCheck

Fehlermeldung des Zertifizierungskits für Windows-Apps: Fehler beim ExecutableImportsCheck-Test.

Ein portierbares ausführbares Image (Portable Executable, PE) besteht diesen Test nicht, wenn es in einen Abschnitt mit ausführbaren Code eingefügt wurde. Dies kann auftreten, wenn Sie das Zusammenführen des Abschnitts ".rdata" ermöglicht haben, indem Sie das Kennzeichen /merge des Visual C++-Linkers auf /merge:.rdata=.text festgelegt haben.

Was ist zu tun, wenn die App den Test nicht besteht?

Führen Sie die Importtabelle nicht in einem Abschnitt mit ausführbarem Code zusammen. Stellen Sie sicher, dass das /merge-Kennzeichen des Visual C++-Linkers nicht so eingestellt ist, dass der Abschnitt ".rdata" in einem Codeabschnitt zusammengeführt wird.

Anmerkungen

Dieser Test wird für den gesamten Binärcode ausgeführt, außer für ausschließlich verwaltete Assemblys.

WXCheck

Fehlermeldung des Windows-Zertifizierungskits für Apps: Fehler beim WXCheck-Test.

Mit dieser Überprüfung können Sie sicherstellen, dass eine Binärdatei keine Seiten enthält, die als schreibbar und ausführbar gekennzeichnet sind. Dies kann vorkommen, wenn die Binärdatei schreibbar und ausführbar oder wenn ihr SectionAlignment kleiner als PAGE_SIZE ist.

Was ist zu tun, wenn die App den Test nicht besteht?

Stellen Sie sicher, dass die Binärdatei keinen schreibbaren oder ausführbaren Abschnitt enthält und dass der SectionAlignment-Wert der Binärdatei mindestens seiner PAGE_SIZE entspricht.

Anmerkungen

Dieser Test wird für alle EXE-Dateien und systemeigenen, nicht verwalteten DLLs ausgeführt.

Eine ausführbare Datei kann einen schreibbaren und ausführbaren Abschnitt enthalten, wenn bei ihrer Erstellung "Bearbeiten und Fortfahren" aktiviert wurden (/ZI). Bei Deaktivierung von "Bearbeiten und Fortfahren" ist der ungültige Abschnitt nicht mehr enthalten.

PAGE_SIZE ist der Standardwert von SectionAlignment für ausführbare Dateien.

Analyzer für gesperrte Dateien

Fehlermeldung des Windows-Zertifizierungskits für Apps: Banned File Check test failed (Fehler beim Test auf unzulässige Dateien).

Bestimmte Dateien dürfen in Windows Phone 8.1-Apps nicht enthalten sein. Für diese Dateien ist eine neuere Version mit wichtigen Verbesserungen bei Sicherheit, Zuverlässigkeit und anderen Bereichen verfügbar. Microsoft blockiert diese Dateien im Windows-Zertifizierungskit für Apps, um sicherzustellen, dass von allen Entwicklern aktuelle Versionen verwendet werden.

Testdetails

Beim Test auf unzulässige Dateien im Windows-Zertifizierungskit für Apps wird derzeit eine Überprüfung auf folgende Dateien durchgeführt:

  • Bing.Maps.JavaScript\js\veapicore.js

    Für diese Überprüfung tritt normalerweise ein Fehler auf, wenn von einer App anstelle der aktuellen offiziellen Version eine Release Preview-Version der Datei verwendet wird.

    Die neueste, im Windows 8.1 SDK enthaltene Version des Zertifizierungskits für Windows-Apps bietet eine zusätzliche Überprüfung auf Vorabversionen des Microsoft Advertising SDK. Werden im Rahmen des Tests auf gesperrte Dateien Vorabversionen der folgenden Dateien gefunden, müssen Sie auf die endgültige Version des Microsoft Advertising SDK aktualisieren:

    • Microsoft.Advertising.Mobile.Display.winmd
    • Microsoft.Advertising.Mobile.UI.winmd
    • Microsoft.Advertising.Mobile.UI.Design.dl

Maßnahmen

Verwenden Sie zum Beheben dieses Fehlers die aktuelle Version des Bing Maps SDK für Windows Store-Apps.

Verwenden Sie zum Beheben von Fehlern im Zusammenhang mit dem Microsoft Advertising SDK die neueste Version des Microsoft Advertising SDK.

Private Codesignatur

Überprüft, ob innerhalb des App-Pakets Binärdateien für private Codesignatur vorhanden sind.

Hintergrund

Signaturdateien für privaten Code sollten privat bleiben, da sie im Fall einer Gefährdung zu bösartigen Zwecken missbraucht werden könnten.

Testdetails

Überprüft, ob innerhalb des App-Pakets Dateien mit der Erweiterung ".pfx" oder ".snk", die darauf hinweisen, dass private Signaturschlüssel verwendet wurden.

Maßnahmen

Entfernen Sie alle Signaturschlüssel für privaten Code (z. B. PFX- und SNK-Dateien) aus dem Paket.

Test der Anzahl der Anwendungen

Überprüft die Inhalte des App-Pakets, um sicherzustellen, dass nur eine App vorhanden ist.

Hintergrund

Windows Phone 8.1-App-Pakete dürfen bei der Übermittlung an den Store nur eine einzelne App enthalten.

Maßnahmen

Stellen Sie sicher, dass das App-Manifest nur eine App pro Paket definiert.

Paketgrößenüberprüfung

Überprüft die Größe des App-Pakets, um sicherzustellen, dass 4 GB nicht überschritten werden.

Hintergrund

Die Größe von Windows Phone 8.1-App-Paketen ist für die Übermittlung an den Store auf 4 GB beschränkt. Diese Beschränkung gilt für das Paket, nicht für erweiterte Inhalte.

Maßnahmen

Reduzieren Sie die Größe des App-Pakets, um sicherzustellen, dass die Version für die Veröffentlichung die maximal zulässige Größe von 4 GB nicht überschreitet.

Überprüfung des Bündelmanifests

Überprüft und stellt sicher, dass in einem Bündel nur ein App-Hauptpaket mit der Architektur "ARM" oder "Neutral" enthalten ist.

Hintergrund

Von Windows Phone 8.1-App-Bündeln wird erwartet, dass sie lediglich ein einzelnes App-Hauptpaket enthalten, das für die Architektur "ARM" oder "Neutral" konzipiert ist. Das Bündel kann bis zu 512 Pakete enthalten.

Maßnahmen

Aktualisieren Sie das App-Paket, um sicherzustellen, dass es nur ein App-Hauptpaket enthält und dass die entsprechende Architektur definiert ist. Unter Umständen müssen Sie x86- bzw. x64-Architekturpakete aus dem Bündel entfernen. Wenn das Bündel mehr als 512 Pakete enthält, müssen Sie die Anzahl von Paketen verringern, um die Anforderung zu erfüllen.

Test der unterstützten APIs

Unterstützte APIs

Testet die App, um festzustellen, ob nicht kompatible APIs verwendet werden.

Hintergrund

Apps müssen die APIs für Windows Phone 8.1-Apps verwenden, um für den Store zertifiziert zu werden. Dieser Test ermittelt auch Situationen, in denen eine verwaltete Binärdatei eine Abhängigkeit von einer Funktion außerhalb des genehmigten Windows Phone 8.1-Profils aufweist.

Testdetails

  • Stellt sicher, dass die im App-Paket enthaltenen Binärdateien keine Abhängigkeiten von einer nicht unterstützen API für die Entwicklung von Windows Phone 8.1-Apps aufweisen. Dazu wird jeweils die Importadressentabelle der Binärdatei überprüft.

  • Stellt sicher, dass eine verwaltete Binärdatei des App-Pakets keine Abhängigkeit von einer Funktion außerhalb des genehmigten Windows Phone 8.1-Profils aufweist.

Maßnahmen

Stellen Sie sicher, dass die App als Veröffentlichungsbuild und nicht als Debugbuild kompiliert wurde.

Hinweis  Der Debugbuild einer App besteht diesen Test nicht, auch wenn die App nur APIs für Windows Phone 8.1-Apps verwendet.

Prüfen Sie die Fehlermeldungen, um die von der App verwendeten APIs zu identifizieren, bei denen es sich nicht um APIs für Windows Phone 8.1-Apps handelt.

Test der App-Manifestressourcen

App-Ressourcenvalidierung

Die App wird ggf. nicht installiert, wenn die im App-Manifest deklarierten Zeichenfolgen oder Bilder falsch sind. Bei diesen Fehlern wird die App entweder nicht installiert, oder das Logo und andere Bilder Ihrer App werden nicht richtig angezeigt.

Testdetails

Prüft die im App-Manifest definierten Ressourcen, um sicherzustellen, dass sie sowohl vorhanden als auch gültig sind.

Maßnahmen

Verwenden Sie die folgende Tabelle als Hilfe.

FehlermeldungKommentare

Für das Bild {imageName} sind sowohl Scale- als auch TargetSize-Qualifizierer definiert Sie können jeweils nur einen Qualifizierer definieren.

Sie können Bilder für unterschiedliche Auflösungen anpassen.

In der tatsächlichen Meldung enthält {imageName} den Namen des Bilds mit dem Fehler.

Stellen Sie sicher, dass für jedes Bild entweder Scale oder TargetSize als Qualifizierer definiert ist. Weitere Informationen finden Sie unter So wird's gemacht: Benennen von Ressourcen mit Qualifizierern.

Das Bild {imageName} entspricht nicht den Größenbeschränkungen.

Stellen Sie sicher, dass alle Bilder der App den Größenbeschränkungen entsprechen.

In der tatsächlichen Meldung enthält {imageName} den Namen des Bilds mit dem Fehler.

Weitere Informationen zu den Bildern und Bildgrößen für die App finden Sie unter App-Bilder.

Das Bild {imageName} ist nicht im Paket enthalten.

Ein erforderliches Bild fehlt.

In der tatsächlichen Meldung enthält {imageName} den Namen des fehlenden Bilds.

Weitere Informationen zu den Bildern und Bildgrößen für die App finden Sie unter App-Bilder.

Das Bild {imageName} ist keine gültige Bilddatei.

Stellen Sie sicher, dass alle Bilder der App den Einschränkungen für Dateiformattypen entsprechen.

In der tatsächlichen Meldung enthält {imageName} den Namen des ungültigen Bilds.

Weitere Informationen zu den Bildern und Bildgrößen für die App finden Sie unter App-Bilder.

Das Bild "BadgeLogo" enthält einen ungültigen ABGR-Wert {value} an der Position (x,y). Das Pixel muss weiß (##FFFFFF) oder transparent (00######) sein.

Das Signallogo ist ein Bild, das neben der Signalbenachrichtigung angezeigt wird, um die App auf dem Sperrbildschirm zu identifizieren. Dieses Bild muss einfarbig sein (es darf nur weiße und transparente Pixel enthalten).

In der tatsächlichen Meldung enthält {value} den ungültigen Farbwert des Bilds.

Weitere Informationen zu den Bildern und Bildgrößen für die App finden Sie unter App-Bilder.

Das Bild "BadgeLogo" enthält einen ABGR-Wert {value} an der Position (x,y), der für ein Bild mit hohem Kontrast (Weiß) ungültig ist. Das Pixel muss (##2A2A2A) oder dunkler oder transparent (00######) sein.

Das Signallogo ist ein Bild, das neben der Signalbenachrichtigung angezeigt wird, um die App auf dem Sperrbildschirm zu identifizieren. Da das Signallogo bei hohem Kontrast (Weiß) auf einem weißen Hintergrund angezeigt wird, muss es sich um eine dunkle Version des Standardsignallogos handeln. Bei hohem Kontrast (Weiß) darf das Signallogo nur Pixel enthalten, die dunkler als (##2A2A2A) oder transparent sind.

In der tatsächlichen Meldung enthält {value} den ungültigen Farbwert des Bilds.

Weitere Informationen zu den Bildern und Bildgrößen für die App finden Sie unter App-Bilder.

Für das Bild muss mindestens eine Variante ohne TargetSize-Qualifizierer definiert sein. Sie müssen einen Scale-Qualifizierer definieren oder "Scale" und TargetSize nicht angeben. Als Standardwert wird dann "scale-100" festgelegt.

Weitere Informationen finden Sie unter Richtlinien zum Skalieren auf die Pixeldichte und So wird's gemacht: Benennen von Ressourcen mithilfe von Qualifizierern.

Das Paket enthält keine Datei "resources.pri".

Wenn Sie über lokalisierbaren Inhalt verfügen, müssen Sie sicherstellen, dass das App-Paket gültige "resources.pri"-Datei enthält.

Die Datei "resource.pri" muss eine Ressourcenzuordnung enthalten, deren Name dem Paketnamen {packageFullName} entspricht.

Dieser Fehler wird angezeigt, wenn das Manifest geändert wird und der Name der Ressourcenzuordnung in "resources.pri" dem Paketnamen im Manifest nicht mehr entspricht.

In der tatsächlichen Meldung enthält {packageFullName} den Paketnamen, den "resources.pri" enthalten muss.

Sie müssen "resources.pri" neu erstellen, um dieses Problem zu beheben. Dazu erstellen Sie am besten das App-Paket neu.

Für die Datei "resources.pri" darf "Automatisch zusammenführen" nicht aktiviert sein.

"MakePRI.exe" unterstützt eine Option mit dem Namen "AutoMerge". Diese Option ist standardmäßig deaktiviert.

Ist sie aktiviert, ermöglicht "AutoMerge" das Zusammenführen der App-Sprachpaketressourcen in einer "resources.pri"-Datei zur Laufzeit.

Die Zeichenfolge {string} entspricht nicht der Längeneinschränkung von maximal {number} Zeichen.

Weitere Informationen finden Sie unter Paketmetadatenanforderungen.

In der tatsächlichen Meldung wird {string} durch die Zeichenfolge mit dem Fehler ersetzt, und {number} enthält die maximale Länge.

Die Zeichenfolge {string} darf keine führenden/nachgestellten Leerzeichen enthalten.

Das Schema für die Elemente im App-Manifest lässt führende oder nachgestellte Leerzeichen nicht zu.

In der tatsächlichen Meldung wird {string} durch die Zeichenfolge mit dem Fehler ersetzt.

Stellen Sie sicher, dass keiner der lokalisierten Werte der Manifestfelder in "resource.pri" führende oder nachgestellte Leerzeichen enthält.

Die Zeichenfolge darf nicht leer sein (Länge größer Null).

Weitere Informationen finden Sie unter Paketmetadatenanforderungen.

In der Datei "resources.pri" ist keine Standardressource angegeben.

Weitere Informationen finden Sie unter Definieren von App-Ressourcen.

In der Datei "resources.pri" ist kein Ressourcenwert angegeben.

Stellen Sie sicher, dass für das App-Manifest gültige Ressourcen in "resources.pri" definiert sind.

Weitere Informationen finden Sie unter Lokalisieren des Paketmanifests.

 

Weitere Informationen finden Sie unter App-Paketressourcenvalidierung.

Branding-Validierung

Windows Phone 8.1-Apps sollten vollständig und betriebsbereit sein. Apps mit Standardbildern (aus Vorlagen oder SDK-Beispielen) besitzen eine dürftige Benutzeroberfläche und können im Store-Katalog nicht so leicht identifiziert werden.

Testdetails

Bei diesem Test wird sichergestellt, dass die von der App verwendeten Bilder keine Standardbilder aus den SDK-Beispielen oder den Visual Studio-Vorlagen sind.

Maßnahmen

Ersetzen Sie Standardbilder durch eigene Bilder, die über mehr Aussagekraft für Ihre App verfügen.

Test der Debugkonfiguration

Debugkonfiguration

Testet die App, um sicherzustellen, dass es sich nicht um einen Debugbuild handelt.

Hintergrund

Um für den Store zertifiziert zu werden, dürfen Apps nicht zum Debuggen kompiliert werden und nicht auf die Debugversionen einer ausführbaren Datei verweisen. Darüber hinaus müssen Sie den Code optimiert erstellen, damit dieser Test bestanden wird.

Testdetails

Testen Sie die App, um sicherzustellen, dass es sich nicht um einen Debugbuild handelt und dass die App mit keinen Debugframeworks verknüpft ist.

Maßnahmen

  • Erstellen Sie die App als Veröffentlichungsbuild, bevor Sie die App an den Store übermitteln.
  • Stellen Sie sicher, dass Sie die richtige .NET Framework-Version installiert haben.
  • Stellen Sie sicher, dass die App nicht über Links zu Debugversionen eines Frameworks verfügt und dass die Erstellung mit einer Releaseversion erfolgt. Wenn die App Microsoft .NET-Komponenten enthält, sollten Sie sich vergewissern, dass Sie die richtige .NET Framework-Version installiert haben.

Dateicodierungstest

UTF-8-Dateicodierung

Hintergrund

HTML-, CSS- und JavaScript-Dateien müssen im UTF-8-Format codiert sein und über eine entsprechende Bytereihenfolgemarke (BOM) verfügen, um von der Bytecode-Zwischenspeicherung profitieren und bestimmte Laufzeitfehlerbedingungen vermeiden zu können.

Testdetails

Testet den Inhalt der App-Pakete, um sicherzustellen, dass darin die richtige Dateicodierung verwendet wird.

Maßnahmen

Öffnen Sie die betroffene Datei, und wählen Sie in Visual Studio im Menü Datei die Option Speichern unter. Klicken Sie neben der Schaltfläche Speichern auf das Dropdownsteuerelement, und wählen Sie Save with Encoding. Wählen Sie im Dialogfeld mit den erweiterten Speicheroptionen die Option Unicode (UTF-8 mit Signatur), und klicken Sie auf OK.

Test der App-Funktionen

Funktionen zur speziellen Verwendung

Hintergrund

Funktionen zur speziellen Verwendung sind für sehr spezielle Szenarien vorgesehen. Diese Funktionen dürfen nur mit Unternehmenskonten genutzt werden.

Testdetails

Es wird überprüft, ob von der App die folgenden Funktionen deklariert werden:

  • EnterpriseAuthentication
  • SharedUserCertificates
  • DocumentsLibrary

Falls eine oder mehrere dieser Funktionen deklariert werden, wird Benutzern während des Tests eine Warnung angezeigt.

Maßnahmen

Sie können erwägen, die Funktion zur speziellen Verwendung zu entfernen, wenn diese für die App nicht erforderlich ist. Die Verwendung dieser Funktionen unterliegt außerdem einer weiteren Prüfung anhand der Richtlinie für die Aufnahme.

Überprüfung der Windows-Runtime-Metadaten

Hintergrund

Es wird sichergestellt, dass die Windows-Runtime-Komponenten, die als Teil einer App mitgeliefert werden, mit dem Typsystem der Windows-Runtime kompatibel sind.

Testdetails

Es wird überprüft, ob für die .winmd-Dateien im Paket die Windows-Runtime-Regeln eingehalten werden.

Maßnahmen

  • ExclusiveTo-Attributtest:: Stellen Sie sicher, dass von Windows-Runtime-Klassen keine Schnittstellen implementiert werden, die für eine andere Klasse als "ExclusiveTo" gekennzeichnet sind.
  • Test auf Anordnung von Typen:: Stellen Sie sicher, dass die Metadaten für alle Windows-Runtime-Typen in der winmd-Datei enthalten sind, die im App-Paket über den längsten Namen mit Namespaceübereinstimmung verfügt.
  • Test auf Groß-/Kleinschreibung von Typnamen:: Stellen Sie sicher, dass alle Windows-Runtime-Typen im App-Paket eindeutige Namen aufweisen, bei denen die Groß-/Kleinschreibung nicht zu berücksichtigen ist. Vergewissern Sie sich außerdem, dass Windows-Runtime-Typnamen im App-Paket nicht auch als Namespacename verwendet werden.
  • Test auf Korrektheit des Typnamens:: Stellen Sie sicher, dass im globalen Namespace oder im Windows-Namespace der obersten Ebene keine Windows-Runtime-Typen vorhanden sind.
  • Test auf Korrektheit der allgemeinen Metadaten:: Stellen Sie sicher, dass der zum Generieren der Windows-Runtime-Typen verwendete Compiler in Bezug auf die Windows-Runtime-Spezifikationen auf dem neuesten Stand ist.
  • Eigenschaftentest:: Stellen Sie sicher, dass alle Eigenschaften einer Windows-Runtime-Klasse über eine get-Methode verfügen (set-Methoden sind optional). Vergewissern Sie sich, dass der Typ des Rückgabewerts der get-Methode für alle Eigenschaften von Windows-Runtime-Typen jeweils mit dem Typ des Eingabeparameters der set-Methode übereinstimmt.

Tests für die Paketintegrität

Test auf für Plattform geeignete Dateien

Apps, die gemischte Binärdateien installieren, stürzen je nach Prozessorarchitektur des Benutzers unter Umständen ab oder werden nicht korrekt ausgeführt.

Hintergrund

Bei diesem Test werden die Binärdateien in einem App-Paket auf Architekturkonflikte geprüft. Ein App-Paket sollte keine Binärdateien enthalten, die unter der im Manifest angegebenen Prozessorarchitektur nicht verwendet werden können. Das Einfügen von nicht unterstützten Binärdateien kann zum Absturz der App oder zu einem unnötigen Anstieg der Paketgröße einer App führen.

Testdetails

Es wird überprüft, ob die Bitanzahl jeder einzelnen Datei im PE-Header korrekt ist, wenn Querverweise mit der Prozessorarchitekturdeklaration des App-Pakets eingerichtet werden.

Maßnahmen

Befolgen Sie diese Richtlinien, um sicherzustellen, dass Ihr App-Paket nur Dateien enthält, die von der im App-Manifest angegebenen Architektur unterstützt werden:

  • Wenn die Zielprozessorarchitektur der App den Prozessortyp "Neutral" aufweist, kann die App keine x86-, x64- oder ARM-Binärdateien oder -Abbilddateien enthalten.

  • Wenn die Zielprozessorarchitektur der App den Prozessortyp "ARM" aufweist, darf das App-Paket nur ARM-Binärdateien oder -Abbilddateien enthalten. Wenn das Paket x64- oder x86-Binärdateien oder -Abbilddateien enthält, tritt beim Test ein Fehler auf.

Paketvalidierung

Dieser Test überprüft, ob die App-Pakete den Windows Phone 8.1-Regeln für XAP-Pakete entsprechen.

Hintergrund

Dieser Test überprüft eine Reihe von Elementen innerhalb des komprimierten XAP-Pakets, um die Kompatibilität mit Windows Phone 8.1 sicherzustellen.

Testdetails

Eine Liste mit spezifischen Fehlermeldungen, die Ihnen unter Umständen begegnen, finden Sie unter Grundlegendes zu App-Übermittlungsfehlern.

Maßnahmen

Überprüfen und beheben Sie sämtliche Fehler, die im Rahmen dieses Tests unter Umständen auftreten.

Hinweis  Dieser Test betrifft nur XAP-basierte Apps. Für nicht XAP-basierte Apps wird dieser Test im Abschlussbericht als bestanden angegeben.

Test für die Ressourcennutzung

Test der WinJS-Hintergrundaufgabe

Mit dem Test der WinJS-Hintergrundaufgabe wird sichergestellt, dass JavaScript-Apps über die richtigen close-Anweisungen verfügen, damit die Apps nicht unnötig Akkuenergie verbrauchen.

Hintergrund

Apps mit JavaScript-Hintergrundaufgaben müssen "Close()" als letzte Anweisung der Hintergrundaufgabe aufrufen. Ist dies bei Apps nicht der Fall, kann das System unter Umständen nicht in den verbundenen Standbymodus zurückkehren, was zu einer schnelleren Entleerung des Akkus führen kann.

Testdetails

Wenn für Apps im Manifest keine Hintergrundaufgabe angegeben ist, gilt der Test als bestanden. Andernfalls wird beim Testen die JavaScript-Hintergrundaufgabendatei analysiert, die im App-Paket angegeben ist, und nach einer Close()-Anweisung gesucht. Wird diese gefunden, gilt der Test als bestanden. Falls nicht, gilt der Test als nicht bestanden.

Maßnahmen

Aktualisieren Sie den JavaScript-Hintergrundcode so, dass "Close()" richtig aufgerufen wird.

 

 

Anzeigen:
© 2014 Microsoft