Bekannte Probleme mit verpackten Desktop-Apps

Dieser Artikel behandelt bekannte Probleme, die auftreten können, wenn Sie ein MSIX-Paket für Ihre Desktop-App erstellen.

Sie erhalten die Fehlermeldung: MSB4018 „GenerateResource“ unerwarteter Taskfehler

Dies kann passieren, wenn Sie versuchen, Satellitenassemblys in Paketressourcenindex-Dateien (Package Resource Index, PRI) zu konvertieren.

Dieses Problem ist uns bekannt, und wir arbeiten an einer längerfristigen Lösung. Als vorübergehende Problemumgehung können Sie den Ressourcen-Generator durch Hinzufügen dieser XML-Zeile zum ersten PropertyGroup-Element in der Hostingprojektdatei deaktivieren:

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

Blauer Bildschirm mit dem Fehlercode 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Nach dem Installieren oder Starten bestimmter Apps aus dem Microsoft Store wird Ihr Computer unter Umständen unerwartet mit folgendem Fehler neu gestartet: 0x139 (KERNEL_SECURITY_CHECK_ FAILURE) .

Bekannte betroffene Apps: Kodi, JT2Go, Ear Trumpet, Teslagrad usw.

Am 27.10.2016 wurde ein Windows-Update (Version 14393.351 - KB3197954) veröffentlich, das wichtige Fehlerbehebungen für dieses Problem enthält. Falls bei Ihnen dieses Problem auftritt, aktualisieren Sie Ihren Computer. Falls Sie Ihren PC nicht aktualisieren können, weil er neu gestartet wird, bevor Sie sich anmelden können, müssen Sie die Systemwiederherstellung verwenden, um für Ihr System einen Zeitpunkt herzustellen, der vor der Installation einer der betroffenen Apps liegt. Informationen zur Systemwiederherstellung finden Sie unter Wiederherstellungsoptionen unter Windows 10.

Falls das Problem durch das Update nicht behoben werden kann oder Sie nicht sicher sind, wie Sie die Wiederherstellung für den PC ausführen, wenden Sie sich an den Microsoft-Support.

Wenn Sie Entwickler sind, erscheint es Ihnen möglicherweise sinnvoll, die Installation Ihres Anwendungspakets unter Versionen von Windows zu verhindern, die dieses Update nicht enthalten. Beachten Sie, dass Ihre Anwendung dadurch nicht für Kunden verfügbar ist, die das Update noch nicht installiert haben. Um die Verfügbarkeit Ihrer Anwendung auf Benutzer zu beschränken, die dieses Update installiert haben, ändern Sie die Datei „AppxManifest.xml“ wie folgt:

<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351"/>

Details zum Windows-Update finden Sie hier:

Häufige Fehler, die beim Signieren Ihrer App auftreten können

Nichtübereinstimmung von Herausgeber und Zertifikat führt zum Signtool-Fehler „Fehler: SignerSign() fehlgeschlagen“ (-2147024885/0x8007000b)

Der Herausgebereintrag im Manifest des Windows-App-Pakets muss mit dem Antragsteller des Zertifikats übereinstimmen, mit dem signiert wird. Mit eine der folgenden Methoden können Sie den Betreff des Zertifikats anzeigen.

Option 1: PowerShell

Führen Sie den folgenden PowerShell-Befehl aus: Als Zertifikatdateien können CER- oder PFX-Dateien verwendet werden, da sie über identische Herausgeberinformationen verfügen.

(Get-PfxCertificate <cert_file>).Subject

Option 2: Datei-Explorer

Doppelklicken Sie im Datei-Explorer auf das Zertifikat, wählen Sie die Registerkarte Details aus, und klicken Sie dann in der Liste auf das Feld Betreff. Anschließend können Sie die Inhalte kopieren.

Option 3: CertUtil

Führen Sie CertUtil über die Befehlszeile für die PFX-Datei aus, und kopieren Sie das Feld Antragsteller aus der Ausgabe.

certutil -dump <cert_file.pfx>

Ungültiges PE-Zertifikat (0x800700C1)

Dies kann vorkommen, wenn das Paket eine Binärdatei mit einem beschädigten Zertifikat enthält. Hier sind einige der Gründe, wie dies passieren kann:

  • Der Anfang des Zertifikats befindet sich nicht am Ende eines Images.

  • Die Größe des Zertifikats ist nicht positiv.

  • Der Anfang des Zertifikats liegt nicht hinter der IMAGE_NT_HEADERS32-Struktur einer ausführbaren 32-Bit-Datei oder nach der IMAGE_NT_HEADERS64-Struktur einer ausführbaren 64-Bit-Datei.

  • Der Zertifikatzeiger ist für eine WIN_CERTIFICATE-Struktur nicht ordnungsgemäß ausgerichtet.

Um Dateien zu finden, die ein ungültiges PE-Zertifikat enthalten, öffnen Sie eine Eingabeaufforderung, und legen Sie die Umgebungsvariable mit dem Namen APPXSIP_LOG auf den Wert „1“ fest.

set APPXSIP_LOG=1

Signieren Sie Ihre Anwendung dann an der Eingabeaufforderung erneut. Zum Beispiel:

signtool.exe sign /a /v /fd SHA256 /f APPX_TEST_0.pfx C:\Users\Contoso\Desktop\pe\VLC.appx

Informationen zu Dateien, die ein ungültiges PE-Zertifikat enthalten, werden im Konsolenfenster angezeigt. Zum Beispiel:

...

ERROR: [AppxSipCustomLoggerCallback] File has malformed certificate: uninstall.exe

...   

Nächste Schritte

Haben Sie Fragen? Frage uns auf Stack Overflow. Unser Team überwacht diese Tags.