Problemi noti relativi alle app desktop in pacchettoKnown Issues with packaged desktop apps

Questo articolo contiene i problemi noti che possono verificarsi durante la creazione di un pacchetto MSIX per un'app desktop.This article contains known issues that can occur when you create an MSIX package for your desktop app.

Viene visualizzato il messaggio MSB4018: errore imprevisto dell'attività "GenerateResource"You receive the error MSB4018 The "GenerateResource" task failed unexpectedly

Ciò può verificarsi quando provi a convertire gli assembly satellite in file di indice risorse (PRI).This can happen when trying to convert satellite assemblies to Package Resource Index (PRI) files.

Siamo a conoscenza del problema e stiamo lavorando per una soluzione più a lungo termine.We are aware of this issue and are working on a more long term solution. Come soluzione temporanea, puoi disabilitare il generatore di risorse aggiungendo questa riga di codice XML al primo elemento PropertyGroup nel file di progetto di hosting:As a temporary workaround, you can disable the resource generator by adding this line of XML to the first PropertyGroup element in hosting project file:

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

Schermata blu con codice di errore 0x139 (KERNEL_SECURITY_CHECK_FAILURE)Blue screen with error code 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Dopo l'installazione o l'avvio di determinate app da Microsoft Store, il computer potrebbe riavviarsi in modo imprevisto con l'errore: 0x139 (KERNEL_SECURITY_CHECK_ FAILURE) .After installing or launching certain apps from the Microsoft Store, your machine may unexpectedly reboot with the error: 0x139 (KERNEL_SECURITY_CHECK_ FAILURE).

Le app note interessate includono Kodi, JT2Go, Ear Trumpet, Teslagrad e altre.Known affected apps include Kodi, JT2Go, Ear Trumpet, Teslagrad, and others.

Il 27/10/16 è stato rilasciato un aggiornamento di Windows Update (versione 14393.351 - KB3197954) che include correzioni importanti per risolvere il problema.A Windows update (Version 14393.351 - KB3197954) was released on 10/27/16 that includes important fixes that address this issue. Se si verifica questo problema, aggiorna il computer.If you encounter this problem, update your machine. 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.If you are not able to update your PC because your machine restarts before you can log in, you should use system restore to recover your system to a point earlier than when you installed one of the affected apps. Per informazioni su come usare Ripristino configurazione di sistema, vedi Opzioni di ripristino in Windows 10.For information on how to use system restore, see Recovery options in Windows 10.

Se l'aggiornamento non risolve il problema o se non sai come ripristinare il PC, contatta il supporto Microsoft.If updating does not fix the problem or you aren't sure how to recover your PC, please contact Microsoft Support.

Se sei uno sviluppatore, puoi impedire l'installazione dell'applicazione in pacchetto in versioni di Windows che non includono questo aggiornamento.If you are a developer, you may want to prevent the installation of your packaged application on versions of Windows that do not include this update. In questo modo, l'applicazione non sarà disponibile per gli utenti che non hanno ancora installato l'aggiornamento.Note that by doing this your application will not be available to users that have not yet installed the update. Per limitare la disponibilità della tua applicazione per gli utenti che hanno installato l'aggiornamento, modifica il file AppxManifest.xml come indicato di seguito:To limit the availability of your application to users that have installed this update, modify your AppxManifest.xml file as follows:

<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:Details regarding the Windows Update can be found at:

Errori comuni visualizzabili quando si accede all'appCommon errors that can appear when you sign your app

Una mancata corrispondenza tra l'editore e il certificato determina l'errore di SignTool "Error: SignerSign() Failed" (-2147024885/0x8007000b)Publisher and cert mismatch causes Signtool error "Error: SignerSign() Failed" (-2147024885/0x8007000b)

Nel file manifesto del pacchetto dell'app di Windows, infatti, la voce dell'editore deve corrispondere all'oggetto del certificato con cui stai firmando.The Publisher entry in the Windows app package manifest must match the Subject of the certificate you are signing with. Per visualizzare l'oggetto del certificato puoi usare una delle opzioni seguenti.You can use any of the following methods to view the subject of the cert.

Opzione 1: PowerShellOption 1: Powershell

Esegui il comando PowerShell seguente.Run the following PowerShell command. Come certificato è possibile usare un file con estensione CER o PFX, poiché contengono entrambi le stesse informazioni sull'editore.Either .cer or .pfx can be used as the certificate file, as they have the same publisher information.

(Get-PfxCertificate <cert_file>).Subject

Opzione 2: Esplora fileOption 2: File Explorer

Fai doppio clic sul certificato in Esplora file, seleziona la scheda Dettagli e scegli il campo Oggetto dall'elenco.Double-click the certificate in File Explorer, select the Details tab, and then the Subject field in the list. A questo punto puoi copiare il contenuto.You can then copy the contents.

Opzione 3: CertUtilOption 3: CertUtil

Esegui certutil dalla riga di comando del file PFX e copia il campo Subject dall'output.Run certutil from the command line on the PFX file and copy the Subject field from the output.

certutil -dump <cert_file.pfx>

Certificato PE non valido (0x800700C1)Bad PE certificate (0x800700C1)

Questo problema può verificarsi quando il pacchetto contiene un file binario con un certificato danneggiato.This can happen when your package contains a binary that has a corrupted certificate. Ecco alcuni dei motivi per cui questo può accadere:Here's some of the reasons why this can happen:

  • L'inizio del certificato non si trova alla fine di un'immagine.The start of the certificate is not at the end of an image.

  • Il valore della dimensione del certificato non è positivo.The size of the certificate isn't positive.

  • L'inizio del certificato non è successivo alla struttura IMAGE_NT_HEADERS32 per un eseguibile a 32 bit o alla struttura IMAGE_NT_HEADERS64 per un eseguibile a 64 bit.The certificate start isn't after the IMAGE_NT_HEADERS32 structure for a 32-bit executable or after the IMAGE_NT_HEADERS64 structure for a 64-bit executable.

  • Il puntatore del certificato non è allineato correttamente per una struttura WIN_CERTIFICATE.The certificate pointer isn't properly aligned for a WIN_CERTIFICATE structure.

Per trovare i file che contengono un certificato PE non valido, apri un prompt dei comandi e imposta la variabile di ambiente denominata APPXSIP_LOG sul valore 1.To find files that contain a bad PE cert, open a Command Prompt, and set the environment variable named APPXSIP_LOG to a value of 1.

set APPXSIP_LOG=1

Dal prompt dei comandi firma nuovamente l'applicazione.Then, from the Command Prompt, sign your application again. Ad esempio:For example:

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 valido verranno visualizzate nella finestra della console.Information about files that contain a bad PE cert will appear in the Console Window. Ad esempio:For example:

...

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

...   

Passaggi successiviNext Steps

Hai domande?Have questions? Partecipa a Stack Overflow.Ask us on Stack Overflow. Il nostro team controlla costantemente questi tag.Our team monitors these tags. Puoi inviarci le tue domande anche qui.You can also ask us here.