Distribuire app MSIX con Microsoft Intune

Microsoft Intune può distribuire applicazioni confezionate in MSIX su dispositivi Windows gestiti in modalità silenziosa; nessuna interazione dell'utente è necessaria al momento dell'installazione. Questa guida illustra il flusso di lavoro completo della distribuzione, tra cui firma del codice, distribuzione dell'attendibilità dei certificati, creazione di app, assegnazione e risoluzione dei problemi.

Prerequisiti

Prima di distribuire un'app MSIX tramite Intune, assicurarsi di avere:

  • Pacchetto MSIX compilato e pronto per la distribuzione
  • Sottoscrizione di Microsoft Intune (inclusa in Microsoft 365 E3/E5, Enterprise Mobility + Security)
  • Microsoft Entra ID gruppi che rappresentano gli utenti o i dispositivi di destinazione
  • Un certificato di firma del codice (vedere Requisiti di firma del codice)

Requisiti di firma del codice

Ogni pacchetto MSIX distribuito tramite Intune deve essere firmato. Windows non installerà un pacchetto MSIX non firmato, anche se distribuito tramite MDM.

Sono disponibili due opzioni per la firma dei certificati:

Opzione 1: certificato autofirmato (senza costi, solo per dispositivi interni/gestiti)

Un certificato autofirmato può firmare il pacchetto MSIX senza costi aggiuntivi, ma il certificato deve essere considerato attendibile in ogni dispositivo di destinazione. Intune può distribuire automaticamente questo certificato di attendibilità tramite un profilo di configurazione certificato attendibile.

Questa opzione è adatta quando tutti i dispositivi di destinazione sono gestiti da Intune e l'app non verrà mai distribuita all'esterno dell'organizzazione.

Azure Artifact Signing (in precedenza Trusted Signing) fornisce un certificato fidato da una CA senza la necessità di un token hardware. I certificati si integrano direttamente con le pipeline CI/CD (GitHub Actions, Azure Pipelines). Per i prezzi correnti, vedere la pagina dei prezzi Azure Artifact Signing.

Poiché il certificato è attendibile dalla CA, i dispositivi Windows lo considerano automaticamente attendibile: non sono necessari profili di configurazione di Intune aggiuntivi. Questa è l'opzione di attrito più basso per la maggior parte degli scenari aziendali.

Per indicazioni sulla firma del pacchetto MSIX, vedere Firmare un pacchetto dell'app con SignTool.


Opzione A: Distribuire con un certificato autofirmato

Se si utilizza un certificato autofirmato, completare questi passaggi prima di creare l'app LOB. Se si utilizza la firma di artefatti di Azure, passare a Opzione B.

Passaggio 1: Creare ed esportare il certificato autofirmato

Nel computer di compilazione creare un certificato autofirmato ed esportarlo:

# Create a self-signed code signing certificate
$cert = New-SelfSignedCertificate `
    -Subject "CN=MyCompany, O=MyCompany, C=US" `
    -Type CodeSigningCert `
    -CertStoreLocation Cert:\CurrentUser\My `
    -HashAlgorithm SHA256

# Export the public key (.cer) for Intune distribution — no password required
Export-Certificate -Cert $cert -FilePath "MyCompanyCert.cer"

Passaggio 2: Firmare il pacchetto MSIX

Firmare usando il certificato dall'archivio certificati locale, senza PFX o password necessarie nel computer di compilazione.

# Sign using the certificate thumbprint
signtool sign /fd SHA256 /sha1 $cert.Thumbprint "MyApp.msix"

Suggerimento

Se è necessario eseguire l'accesso a un computer diverso (ad esempio in una pipeline CI/CD), esportare il file PFX usando Export-PfxCertificate e archiviare la password come variabile segreta della pipeline, non inserirla mai in modo fisso in uno script o eseguirne mai il commit nel controllo del codice sorgente.

Passaggio 3: Creare un profilo certificato attendibile in Intune

Questo profilo invia la chiave pubblica del certificato ai dispositivi di destinazione in modo che Windows consideri attendibile la firma autofirmata.

  1. Nell'interfaccia di amministrazione di Intune passare a Configurazione> dispositivi> Crea criterio
  2. Selezionare Windows 10 e versioni successive come piattaforma, Templates come tipo di profilo, quindi Certificato attendibile
  3. Caricare il .cer file esportato nel passaggio 1
  4. Impostare l'archivio di destinazione su Computer locale - Persone attendibili
  5. Assegnare il profilo agli stessi gruppi di dispositivi o utenti che riceveranno l'app
  6. Selezionare Crea; Intune invia una notifica push ai dispositivi attivi e connessi a Internet; in genere eseguono il check-in e ricevono il certificato entro pochi minuti. L'intervallo di sincronizzazione in background è di 8 ore per i dispositivi che non effettuano la notifica.

Importante

Distribuire il profilo certificato attendibile prima o contemporaneamente all'app LOB. Se l'app raggiunge il dispositivo prima che il certificato sia attendibile, l'installazione avrà esito negativo.


Opzione B: Distribuire con Firma Artefatto di Azure (in precedenza Firma Attendibile)

Se si usa Azure Firma artefatto (in precedenza firma attendibile), il certificato è già considerato attendibile da Windows. In Intune non è necessario alcun profilo certificato attendibile.

Firmare il pacchetto MSIX usando l'attività azure/trusted-signing-action GitHub Actions o l'integrazione equivalente di Azure Pipelines, oppure seguendo le indicazioni sulla firma locale nella documentazione Azure Artifact Signing (in precedenza firma attendibile).


Creare un'applicazione line-of-business in Intune

  1. Nell'interfaccia di amministrazione di Intune passare ad App>Tutte le app>Aggiungi
  2. Sotto Tipo di app, seleziona App line-of-business, quindi seleziona Seleziona
  3. In File del pacchetto dell'app, caricare il file firmato .msix (o .msixbundle)
  4. Intune legge automaticamente i metadati del pacchetto: esaminare i campi Name, Publisher e App version
  5. Completare i campi obbligatori rimanenti:
    • Descrizione : cosa fa l'app
    • Publisher : nome dell'organizzazione (prepopolato dal pacchetto)
    • Contesto di installazione dell'app : selezionare Dispositivo per l'installazione a livello di computer (scelta consigliata) o Utente per l'installazione per utente
  6. Selezionare Avanti per configurare i tag di ambito se l'organizzazione li usa, quindi di nuovo Avanti
  7. Nella pagina Assegnazioni assegnare l'app:
    • Obbligatorio : l'app viene installata automaticamente senza prompt dell'utente
    • Disponibile per i dispositivi registrati — l'app appare in Portale aziendale per installazione facoltativa
    • Disinstalla : rimuove l'app dai dispositivi di destinazione
  8. Selezionare Avanti, rivedere le impostazioni e quindi selezionare Crea

Intune accoda la distribuzione. I dispositivi ricevono e installano l'app durante il ciclo di sincronizzazione di Intune successivo.

Annotazioni

Le app MSIX installate come Richiesto tramite Intune vengono installate in modalità silenziosa nel contesto di dispositivo. Gli utenti non vedono un avviso di controllo dell'account utente o una procedura guidata di installazione.

Verifica l'installazione

Per verificare che l'app sia stata distribuita correttamente:

  1. Nell'interfaccia di amministrazione di Intune passare ad App>Tutte le app e selezionare l'app
  2. Selezionare Stato installazione del dispositivo o Stato installazione utente per visualizzare i risultati per dispositivo
  3. Cerca lo stato Installato. Stati comuni non installati:
Condizione Meaning
Non applicabile Il dispositivo non si trova nel gruppo assegnato
In sospeso Distribuzione in coda; dispositivo non ancora sincronizzato
Non riuscito Errore di installazione: vedere il codice di errore nei dettagli
Non installato App non ancora ricevuta o installazione posticipata

Per le installazioni non riuscite, prendere nota del codice di errore illustrato e vedere Risoluzione dei problemi di seguito.

Gestione degli aggiornamenti

Quando si pubblica una nuova versione dell'app, caricare il pacchetto MSIX aggiornato nella stessa voce dell'app:

  1. Vai a Applicazioni>Tutte le app, seleziona la tua app
  2. Selezionare Proprietà>Modifica accanto a Informazioni sull'app
  3. In File del pacchetto dell'app caricare il nuovo .msix file
  4. Salvare le modifiche: Intune rileva la modifica della versione ed esegue il push dell'aggiornamento ai dispositivi assegnati nella sincronizzazione successiva

Annotazioni

Intune usa il numero di versione nel manifesto MSIX per rilevare gli aggiornamenti. Assicurarsi di incrementare il numero di versione in .appxmanifest prima di compilare ogni versione.

Risoluzione dei problemi

Errore di attendibilità della firma o del certificato

Se si usa un certificato autofirmato, l'installazione di MSIX non riesce automaticamente se il certificato di firma non è attendibile nel dispositivo. Per diagnosticare:

  • Nell'interfaccia di amministrazione di Intune, passare ai profili di configurazione del dispositivo e verificare che il profilo Certificato affidabile sia Riuscito
  • Nel dispositivo aprire certlm.msc e verificare che il certificato di firma venga visualizzato in Persone attendibili del computer > locale
  • Se il profilo è ancora in sospeso, attivare una sincronizzazione manuale (vedere App bloccata in "In sospeso")

0x80073CF3 - Aggiornamento non riuscito del pacchetto, della dipendenza o della convalida dei conflitti

Questo errore indica ERROR_INSTALL_PACKAGE_DOWNGRADE che una versione più recente del pacchetto è già installata nel dispositivo. Controllare:

  • La versione in MSIX caricata è superiore alla versione attualmente installata nei dispositivi di destinazione
  • Se necessario, disinstallare il pacchetto esistente dal dispositivo prima di ritentare la distribuzione
  • Per altre cause (conflitti di dipendenza, mancata corrispondenza del framework), vedere Risoluzione dei problemi di distribuzione MSIX

0x80073CF0 - Impossibile aprire il pacchetto

Impossibile aprire il pacchetto MSIX durante l'installazione (ERROR_INSTALL_OPEN_PACKAGE_FAILED). Controllare:

  • Il file del pacchetto è stato caricato completamente e non è danneggiato
  • MSIX è valido: testarlo aprendolo in locale prima del caricamento
  • Ricaricare il pacchetto se il caricamento potrebbe essere stato interrotto, quindi ritentare l'assegnazione

0x80070005 - Accesso negato

Indica autorizzazioni insufficienti (E_ACCESSDENIED). Verificare che l'account di distribuzione e il dispositivo di destinazione abbiano l'accesso necessario e verificare che l'app e i profili certificato necessari siano assegnati correttamente. Una mancata corrispondenza del contesto (app assegnata come installazione utente , ma il pacchetto richiede l'installazione a livello di computer) può anche causare questo problema: passare al contesto di installazione del dispositivo in tal caso. Per altre cause e passaggi di correzione, vedere Risoluzione dei problemi di distribuzione MSIX.

App bloccata in "In sospeso"

  • Attivare una sincronizzazione manuale di Intune: nel dispositivo, andare su ImpostazioniAccountAccesso a lavoro o scuola, selezionare il tuo account, quindi Info, e infine Sincronizza
  • In alternativa, dall'interfaccia di amministrazione di Intune passare a Dispositivi> selezionare la > del dispositivo

Verifica dei log di installazione nel dispositivo

Per una diagnostica più approfondita, controllare due origini di log:

Log dell'estensione di gestione di Intune: tiene traccia dell'attività di download e distribuzione delle app LOB.

%ProgramData%\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log

AppxDeployment-Server registro eventi : tiene traccia dell'installazione MSIX stessa:

  1. Aprire Visualizzatore eventi
  2. Passare a Applicazioni e log dei servizi>Microsoft>Windows>AppxDeployment-Server
  3. Filtrare gli eventi di errore e cercare le voci corrispondenti al nome della famiglia di pacchetti

In alternativa, da PowerShell:

Get-AppxLog | Where-Object { $_.Message -match "MyApp" } | Select-Object TimeCreated, Message

Cerca in entrambe le sorgenti dei log il nome dell'app o il nome della famiglia di pacchetti per trovare il tentativo di installazione pertinente.