Problemi noti relativi alle app desktop in pacchetto
Questo articolo contiene i problemi noti che possono verificarsi durante la creazione di un pacchetto MSIX per un'app desktop.
Viene visualizzato il messaggio MSB4018: errore imprevisto dell'attività "GenerateResource"
Ciò può verificarsi quando provi a convertire gli assembly satellite in file di indice risorse (PRI).
Siamo a conoscenza del problema e stiamo lavorando per una soluzione più a lungo termine. 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:
<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>
Schermata blu con codice di errore 0x139 (KERNEL_edizione StandardCURITY_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_edizione StandardCURITY_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 per risolvere 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 supporto tecnico Microsoft.
Se sei uno sviluppatore, puoi impedire l'installazione dell'applicazione in pacchetto in versioni di Windows che non includono questo aggiornamento. In questo modo, l'applicazione non sarà disponibile per gli utenti che non hanno ancora installato l'aggiornamento. Per limitare la disponibilità della tua applicazione per gli utenti che hanno installato l'aggiornamento, modifica 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 a Windows Update sono disponibili in:
- https://support.microsoft.com/kb/3197954
- https://support.microsoft.com/help/12387/windows-10-update-history
Errori comuni visualizzabili quando si accede all'app
Autore e mancata corrispondenza del certificato causano l'errore Signtool "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. È 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 hanno le 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
Esegui certutil dalla riga di comando del file PFX e copia il campo Subject dall'output.
certutil -dump <cert_file.pfx>
Certificato PE non valido (0x800700C1)
Questo problema può verificarsi quando il pacchetto contiene un file binario con un certificato danneggiato. Ecco alcuni dei motivi per cui questo può accadere:
L'inizio del certificato non si trova alla fine di un'immagine.
Il valore della dimensione del certificato non è positivo.
L'inizio del certificato non è successivo alla struttura
IMAGE_NT_HEADERS32
per un eseguibile a 32 bit o alla strutturaIMAGE_NT_HEADERS64
per un eseguibile a 64 bit.Il puntatore del certificato non è allineato correttamente per una struttura WIN_CERTIFICATE.
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.
set APPXSIP_LOG=1
Dal prompt dei comandi firma nuovamente 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 valido verranno visualizzate nella finestra della console. Ad esempio:
...
ERROR: [AppxSipCustomLoggerCallback] File has malformed certificate: uninstall.exe
...
Passaggi successivi
Altre domande? Partecipa a Stack Overflow. Il nostro team controlla costantemente questi tag.