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>
Bluescreen mit 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).
Zu den bekannten betroffenen Apps zählen u. a. Kodi, JT2Go, Ear Trumpet und Teslagrad.
Ein Windows Update (Version 14393.351 – KB3197954) wurde am 27.10.16 veröffentlicht. Es enthält wichtige Korrekturen, die dieses Problem beheben. Wenn dieses Problem auftritt, aktualisieren Sie Ihren Computer. Wenn Sie Ihren PC nicht aktualisieren können, weil er neu gestartet wird, bevor Sie sich anmelden können, sollten Sie die Systemwiederherstellung verwenden, um das System auf einen Zeitpunkt vor der Installation einer der betroffenen Apps zurückzusetzen. Informationen zur Verwendung der Systemwiederherstellung finden Sie unter Wiederherstellungsoptionen in Windows 10.
Wenn das Problem durch die Aktualisierung nicht behoben wird oder Sie nicht sicher sind, wie Sie den PC wiederherstellen können, wenden Sie sich bitte 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 unter:
- https://support.microsoft.com/kb/3197954
- https://support.microsoft.com/help/12387/windows-10-update-history
Häufige Fehler, die beim Signieren Ihrer App auftreten können
Nichtübereinstimmung von Herausgeber und Zertifikat führt zum Signtool-Fehler „Fehler: Fehler bei SignerSign()“ (-2147024885/0x8007000b)
Der Herausgebereintrag im Manifest des Windows-App-Pakets muss mit dem Antragsteller des Zertifikats übereinstimmen, mit dem signiert wird. Mit den folgenden Methoden können Sie den Betreff des Zertifikats anzeigen.
Option 1: PowerShell
Führen Sie den folgenden PowerShell-Befehl aus: CER oder PFX können als Zertifikatdatei verwendet werden, da sie dieselben Herausgeberinformationen aufweisen.
(Get-PfxCertificate <cert_file>).Subject
Option 2: Datei-Explorer
Doppelklicken Sie im Datei-Explorer auf das Zertifikat, wählen Sie die Registerkarte Details und dann das Feld Betreff in der Liste aus. Anschließend können Sie den Inhalt 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 derIMAGE_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. 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. 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.