Condividi tramite


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 PRI (Package Resource Index).

Siamo consapevoli di questo problema e stiamo lavorando a una soluzione a lungo termine. Come soluzione alternativa temporanea, è possibile disabilitare il generatore di risorse aggiungendo questa riga di 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 da Microsoft Store, il computer potrebbe essere riavviato in modo imprevisto con l'errore : 0x139 (KERNEL_SECURITY_CHECK_ FAILURE).

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

Un aggiornamento di Windows (versione 14393.351 - KB3197954) è stato rilasciato il 10/27/16 che include importanti correzioni che risondono questo problema. Se si verifica questo problema, aggiornare il computer. Se non sei in grado di aggiornare il PC perché il computer viene riavviato prima di poter accedere, dovresti usare il ripristino di sistema per ripristinare il sistema a un punto precedente rispetto a quando hai installato una delle app interessate. Per informazioni su come usare il ripristino di sistema, vedere Opzioni di ripristino in Windows 10.

Se l'aggiornamento non risolve il problema o non si è certi di come ripristinare il PC, contattare il supporto tecnico Microsoft.

Se sei uno sviluppatore, potresti voler 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 di AppxManifest.xml come indicato di seguito:

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

I dettagli relativi a Windows Update sono disponibili in:

Errori comuni che possono essere visualizzati quando si firma l'app

Problema di corrispondenza tra editore e certificato causa l'errore di Signtool "Error: SignerSign() Failed" (-2147024885/0x8007000b)

La voce Publisher nel manifesto del pacchetto dell'app di Windows deve corrispondere all'oggetto del certificato con cui si esegue la firma. È possibile utilizzare uno dei metodi seguenti per visualizzare l'oggetto del certificato.

Opzione 1: PowerShell

Eseguire il comando di PowerShell seguente. È possibile usare .cer o pfx come file di certificato, in quanto dispongono delle stesse informazioni sull'editore.

(Get-PfxCertificate <cert_file>).Subject

Opzione 2: Esplora file

Fare doppio clic sul certificato in Esplora file, selezionare la scheda Dettagli e quindi il campo Oggetto nell'elenco. È quindi possibile 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 questo problema può verificarsi:

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

  • Le dimensioni del certificato non sono accettabili.

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

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

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 su un valore pari a 1.

set APPXSIP_LOG=1

Quindi, dal prompt dei comandi, firma nuovamente la tua applicazione. Per 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 valido verranno visualizzate nella finestra della console. Per esempio:

...

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

...   

Passaggi successivi

Hai domande? Fai una domanda su Stack Overflow. Il nostro team monitora questi tag .