Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come diagnosticare e risolvere gli errori di installazione e distribuzione MSIX. Vengono illustrati i codici di errore comuni, la lettura dei log di distribuzione e le correzioni per i problemi segnalati più di frequente.
Annotazioni
I riferimenti a .msix in questo articolo si applicano allo stesso modo a .msixbundle, .appx, .appxbundlee alle relative varianti crittografate (.emsix, .eappxe così via) se non diversamente specificato.
Passaggio 1: Leggere i log di distribuzione
Quando un'installazione MSIX non riesce, il codice di errore visualizzato nell'interfaccia utente è spesso un riepilogo generale. I log di Visualizzatore eventi e PowerShell contengono la causa sottostante.
Visualizzatore eventi
Aprire Visualizzatore eventi e passare a: Applications and Services Logs > Microsoft > Windows > AppxDeployment-Server
Cercare gli eventi con un livello critico, di errore o di avviso corrispondente all'ora dell'installazione non riuscita. Il riquadro dei dettagli contiene in genere un codice di errore e una descrizione più specifici di quelli visualizzati dall'utente.
PowerShell
Get-AppxLog | Where-Object {$_.EventId -eq 404} | Select-Object -Last 20
Oppure per una visualizzazione interattiva e filtrabile:
Get-AppxLog | Out-GridView
Passaggio 2: Controllare i codici di errore comuni
La tabella seguente illustra i codici di errore segnalati più frequentemente dagli sviluppatori. Se il codice non è elencato, vedere Risoluzione dei problemi di packaging, deployment e query di applicazioni Windows per ulteriori informazioni.
| Codice di errore | Nome | Causa comune | Correzione |
|---|---|---|---|
| 0x80073CF0 | ERROR_INSTALL_OPEN_PACKAGE_FAILED |
Impossibile aprire il file del pacchetto: file mancante, percorso errato o problema di autorizzazioni | Verificare che il .msix file esista nel percorso specificato. Se si esegue l'installazione tramite PowerShell, usare un percorso locale, non un percorso di condivisione UNC/network. Eseguire PowerShell con privilegi di amministratore. |
| 0x80073CF3 | ERROR_INSTALL_PACKAGE_DOWNGRADE |
È già installata una versione più recente del pacchetto | Disinstallare prima la versione esistente o modificare il numero di versione nel manifesto del pacchetto impostando un valore superiore. |
| 0x80073CF6 | ERROR_INSTALL_REGISTRATION_FAILURE |
Registrazione del pacchetto non riuscita: spesso un database di registrazione del pacchetto danneggiato o un file di sistema | Eseguire wsreset -i per reimpostare la cache di Microsoft Store. Se il problema persiste, eseguire sfc /scannow per ripristinare i file di sistema o provare Impostazioni > App installate [Nome app > ] > Opzioni avanzate > Ripristina. Controllare Visualizzatore eventi per un errore interno più specifico. |
| 0x80073CF9 | ERROR_INSTALL_PACKAGE_NOT_FOUND |
Impossibile trovare il pacchetto o un pacchetto di dipendenza durante l'installazione | Assicurarsi che tutti i pacchetti di dipendenza (VCLibs, .NET, il runtime WinAppSDK) siano installati prima del pacchetto principale. È possibile installarli nello stesso comando: Add-AppxPackage main.msix -DependencyPath dep1.msix, dep2.msix |
| 0x80073CFA | ERROR_REMOVE_FAILED |
Operazione di disinstallazione/rimozione non riuscita: l'app potrebbe essere in esecuzione, il relativo stato potrebbe essere danneggiato o è un'app posta in arrivo protetta | Chiudere tutte le istanze dell'app e riprovare. Per lo stato danneggiato, provare in un ambiente di avvio pulito. Le app di sistema/posta in arrivo non possono essere rimosse tramite Remove-AppxPackage. |
| 0x80073CFB | ERROR_PACKAGE_ALREADY_EXISTS |
Pacchetto identico già registrato per questo utente | Disinstallare prima il pacchetto esistente: Get-AppxPackage <PackageName> | Remove-AppxPackage |
| 0x80073D02 | ERROR_PACKAGES_IN_USE |
Il pacchetto è attualmente in uso da un processo in esecuzione | Chiudere tutte le istanze in esecuzione dell'app prima di aggiornare o disinstallare. Usare il Task Manager o Get-Process per confermare. |
| 0x8007000D | ERROR_INVALID_DATA |
Il pacchetto è danneggiato, formattato in modo non corretto o l'editore nel manifesto non corrisponde al certificato di firma | Verificare che il campo Publisher in AppxManifest.xml (o Package.appxmanifest in Visual Studio) corrisponda esattamente al Subject del certificato di firma (inclusa la spaziatura e la maiuscola). Ricompilare e firmare nuovamente il pacchetto. |
| 0x8BAD0042 | CertNotTrusted |
Il certificato di firma non è considerato attendibile dal dispositivo (comunemente visto quando si usa MSIX Core in Windows di livello inferiore) | Importare il certificato di firma nell'archivio Persone attendibili del computer > locale (non nell'archivio utenti corrente) nel dispositivo di destinazione oppure usare un certificato emesso da una CA attendibile. Vedere Certificati attendibili. |
| 0x80070005 | E_ACCESSDENIED |
Autorizzazioni insufficienti | Eseguire il comando di installazione o lo script con privilegi di amministratore, ad esempio da un prompt dei comandi aperto con Esegui come amministratore. |
| 0x80070002 | ERROR_FILE_NOT_FOUND |
Un file a cui si fa riferimento nel manifesto non esiste nel pacchetto | Verificare la presenza di risorse o asset mancanti a cui si fa riferimento in AppxManifest.xml. Ricompilare il pacchetto e verificarne il contenuto con MakeAppx unpack. |
Suggerimento
Installazione da una condivisione di rete? Una causa comune di errori fuorvianti (in particolare 0x80073CF0 e 0x80070002) è l'esecuzione di Add-AppxPackage su un percorso UNC (\\server\share\app.msix). Copiare prima il .msix file in una cartella locale, quindi installarlo.
Passaggio 3: verifica i prerequisiti
Molti errori di installazione sono causati da prerequisiti non soddisfatti anziché da un problema con il pacchetto stesso.
Attendibilità del certificato — Il certificato di firma del pacchetto deve trovarsi nell'archivio Personale attendibile del computer locale, non nell'archivio certificati dell'utente corrente.
Sideloading — Nelle versioni di Windows 10 precedenti alla 1809 (RS5), il sideloading richiedeva un'impostazione della politica separata. Da RS5 in poi l'impostazione predefinita consente installazioni di pacchetti di app attendibili; in Windows 11, non è necessaria alcuna impostazione aggiuntiva. Consulta Abilitare il dispositivo per lo sviluppo per i requisiti correnti.
Dependencies: Le app SDK per app di Windows richiedono l'installazione del runtime SDK per app di Windows sul dispositivo di destinazione, a meno che non si usi la distribuzione autonoma. Usare il -DependencyPath parametro con Add-AppxPackage per installare i pacchetti di dipendenza insieme al pacchetto principale.
App Installer : Se facendo doppio clic su un .msix file non succede nulla, l'app App Installer potrebbe non essere presente. Installarlo dal Microsoft Store.
Passaggio 4: Convalidare il manifesto del pacchetto
Gli errori nel manifesto sono una causa comune di errori durante l'installazione. Usare MakeAppx per verificare la struttura del pacchetto e controllare il manifesto:
# Unpack the package and inspect the manifest
MakeAppx unpack /p "C:\path\to\app.msix" /d "C:\unpack-output"
Controlla AppxManifest.xml nella cartella di output per:
- Validità XML (nessun tag in formato non valido o elementi di chiusura mancanti)
-
Publishercampo corrispondente esattamente al Subject del certificato di firma - Nomi di funzionalità che usano lo spazio dei nomi corretto per la versione del sistema operativo di destinazione
- vincoli
MinOSVersionper tutte le estensioni per Windows 11
Consulta il riferimento sullo schema del manifesto del pacchetto dell'app per gli attributi e i namespace supportati.
Codici di errore DEP comuni
Visual Studio e MSBuild evidenziano gli errori di distribuzione con un prefisso DEP. I più comuni:
| Codice | Meaning | Correzione |
|---|---|---|
| DEP0700 | Registrazione del pacchetto non riuscita | In genere, si verifica un errore dello schema del manifesto: verificare la presenza di nomi XML non validi, dichiarazioni non supportate xmlns o nomi di funzionalità che non corrispondono all'elenco consentito. |
| DEP3300 | Dipendenza non trovata | Installare il pacchetto framework richiesto (VCLibs, .NET, WinAppSDK) prima della distribuzione. |
| DEP3301 | Pacchetto già registrato con un'architettura diversa | Disinstallare l'architettura in conflitto prima di distribuire una compilazione di architettura diversa. |
Risorse aggiuntive
- Risoluzione dei problemi relativi alla creazione di pacchetti, distribuzione e interrogazione di app Windows (riferimento completo al codice di errore)
- Risolvere i problemi dei file di App Installer
- Problemi noti di MSIX Packaging Tool
- Eseguire, debuggare e testare un'applicazione desktop impacchettata
Hai domande? Chiedere GitHub Copilot o cercare Stack Overflow usando il tag msix.