Problemi noti relativi alle app desktop in pacchetto

Questo articolo contiene problemi noti che possono verificarsi quando si crea un pacchetto MSIX per l'app desktop.

Viene visualizzato l'errore MSB4018 L'attività "GenerateResource" non è riuscita in modo imprevisto

Ciò può verificarsi quando si tenta di convertire assembly satellite in file dell'indice delle risorse del pacchetto (PRI).

Microsoft è a conoscenza di questo problema e sta lavorando a una soluzione più a lungo termine. Come soluzione temporanea, è possibile disabilitare il generatore di risorse aggiungendo questa riga di codice XML al primo elemento PropertyGroup nel file di progetto di hosting:

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

Schermata blu con codice di errore 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Dopo l'installazione o l'avvio di determinate app dal Microsoft Store, il computer potrebbe riavviarsi in modo imprevisto con l'errore: 0x139 (KERNEL _ SECURITY CHECK _ _ FAILURE).

Le app note interessate includono Kodi, JT2Go, Ear Trumpet, Teslagrad e altre.

Il 27/10/16 è stato rilasciato un aggiornamento di Windows Update (versione 14393.351 - KB3197954) che include correzioni importanti per risolvere il problema. Se si verifica questo problema, aggiorna il computer. Se non riesci ad aggiornare il PC perché si riavvia prima che tu possa accedere, usa Ripristino configurazione di sistema per ripristinare il sistema a un punto precedente all'installazione di una delle app interessate. Per informazioni su come usare Ripristino configurazione di sistema, vedi Opzioni di ripristino in Windows 10.

Se l'aggiornamento non risolve il problema o se non sai come ripristinare il PC, contatta il supporto Microsoft.

Gli sviluppatori possono impedire l'installazione dell'applicazione in pacchetto nelle versioni di Windows che non includono questo aggiornamento. Si noti che in questo modo l'applicazione non sarà disponibile per gli utenti che non hanno ancora installato l'aggiornamento. Per limitare la disponibilità dell'applicazione agli utenti che hanno installato questo aggiornamento, modificare il file AppxManifest.xml come indicato di seguito:

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

I dettagli relativi all'aggiornamento di Windows Update sono disponibili qui:

Errori comuni che possono verificarsi quando si firma l'app

Una mancata corrispondenza tra l'editore e il certificato determina l'errore SignTool "Error: SignerSign() Failed" (-2147024885/0x8007000b)

La Publisher nel manifesto del Windows del pacchetto dell'app deve corrispondere all'oggetto del certificato con cui si firma. Per visualizzare l'oggetto del certificato puoi usare una delle opzioni seguenti.

Opzione 1: Powershell

Eseguire il comando di PowerShell seguente. Come certificato è possibile usare un file con estensione CER o PFX, poiché contengono entrambi le stesse informazioni sull'editore.

(Get-PfxCertificate <cert_file>).Subject

Opzione 2: Esplora file

Fai doppio clic sul certificato in Esplora file, seleziona la scheda Dettagli e scegli il campo Oggetto dall'elenco. A questo punto puoi copiare il contenuto.

Opzione 3: CertUtil

Eseguire certutil dalla riga di comando nel file PFX e copiare il campo Oggetto dall'output.

certutil -dump <cert_file.pfx>

Certificato PE non valido (0x800700C1)

Ciò può verificarsi quando il pacchetto contiene un file binario con un certificato danneggiato. Ecco alcuni dei motivi per cui ciò può verificarsi:

  • L'inizio del certificato non è alla fine di un'immagine.

  • Le dimensioni del certificato non sono positive.

  • L'avvio del certificato non è successivo alla struttura per un eseguibile a 32 bit o dopo la struttura per IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS64 un eseguibile a 64 bit.

  • Il puntatore del certificato non è allineato correttamente per una WIN_CERTIFICATE struttura.

Per trovare i file che contengono un certificato PE non valido, aprire un prompt dei comandi e impostare la variabile di ambiente denominata APPXSIP_LOG sul valore 1.

set APPXSIP_LOG=1

Quindi, dal prompt dei comandi, firmare di nuovo l'applicazione. Ad esempio:

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

Le informazioni sui file che contengono un certificato PE non erto verranno visualizzate nella finestra della console. Ad esempio:

...

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

...   

Passaggi successivi

Hai domande? Partecipa a Stack Overflow. Il nostro team controlla costantemente questi tag.