Freigeben über


Bekannte Probleme mit verpackten Desktop-Apps

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

Sie erhalten den Fehler MSB4018 Unerwarteter Fehler bei der Aufgabe "GenerateResource"

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

Wir sind uns dieses Problem bewusst und arbeiten an einer langfristigen Lösung. Als temporäre Problemumgehung können Sie den Ressourcengenerator deaktivieren, indem Sie diese XML-Zeile zum ersten PropertyGroup-Element in der Hostprojektdatei hinzufügen:

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

Blauer Bildschirm mit Fehlercode 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Nach der Installation oder dem Starten bestimmter Apps aus dem Microsoft Store kann Ihr Computer unerwartet neu gestartet werden mit dem Fehler: 0x139 (KERNEL_SECURITY_CHECK_FAILURE).

Bekannte betroffene Apps umfassen Kodi, JT2Go, Ear Trumpet, Teslagrad und andere.

Ein Windows Update (Version 14393.351 – KB3197954) wurde am 10.27.16 veröffentlicht, das wichtige Korrekturen enthält, die dieses Problem beheben. Wenn dieses Problem auftritt, aktualisieren Sie Ihren Computer. Wenn Sie Ihren PC nicht aktualisieren können, da Ihr Computer neu gestartet wird, bevor Sie sich anmelden können, sollten Sie die Systemwiederherstellung verwenden, um ihr System zu einem Früheren Zeitpunkt wiederherzustellen, als wenn Sie eine der betroffenen Apps installiert haben. 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 Ihren PC wiederherstellen können, wenden Sie sich an den Microsoft-Support.

Wenn Sie Entwickler sind, sollten Sie die Installation Ihrer verpackten Anwendung unter Windows-Versionen verhindern, die dieses Update nicht enthalten. Beachten Sie, dass Ihre Anwendung dadurch nicht für Benutzer verfügbar ist, die das Update noch nicht installiert haben. Wenn Sie die Verfügbarkeit Ihrer Anwendung auf Benutzer beschränken möchten, die dieses Update installiert haben, ändern Sie ihre AppxManifest.xml Datei wie folgt:

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

Details zum Windows Update finden Sie unter:

Häufige Fehler, die angezeigt werden können, wenn Sie Ihre App signieren

Publisher- und Zertifikatsinkongruenz verursacht Signtool-Fehler "Fehler: SignerSign() Fehlgeschlagen" (-2147024885/0x8007000b)

Der Publisher-Eintrag im Windows-App-Paketmanifest muss mit dem Betreff des Zertifikats übereinstimmen, mit dem Sie signieren. Sie können eine der folgenden Methoden verwenden, um den Betreff des Zertifikats anzuzeigen.

Option 1: PowerShell

Führen Sie den folgenden PowerShell-Befehl aus. Entweder .cer oder PFX kann als Zertifikatdatei verwendet werden, da sie über dieselben 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 " und dann das Feld " Betreff " in der Liste aus. Anschließend können Sie den Inhalt kopieren.

Option 3: CertUtil

Führen Sie certutil aus der Befehlszeile in der PFX-Datei aus, und kopieren Sie das Feld "Betreff " aus der Ausgabe.

certutil -dump <cert_file.pfx>

Ungültiges PE-Zertifikat (0x800700C1)

Dies kann passieren, wenn Ihr Paket eine Binärdatei enthält, die über ein beschädigtes Zertifikat verfügt. Hier sind einige der Gründe, warum dies passieren kann:

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

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

  • Der Zertifikatstart erfolgt nicht nach der IMAGE_NT_HEADERS32 Struktur für eine ausführbare 32-Bit-Datei oder nach der IMAGE_NT_HEADERS64 Struktur für eine 64-Bit-Ausführbare Datei.

  • Der Zertifikatzeiger wird 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 APPXSIP_LOG auf den Wert 1 fest.

set APPXSIP_LOG=1

Signieren Sie dann Ihre Anwendung erneut über die Eingabeaufforderung. 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? Fragen Sie uns auf Stack Overflow. Unser Team überwacht diese Etiketten.