Quando vuoi distribuire app WinGet con Intune, dovrebbe essere un processo semplice. Dopotutto, WinGet conosce già l’URL del programma di installazione, la versione e gli switch silenziosi per migliaia di app Windows, quindi dovresti poter indirizzare Intune al catalogo e distribuire, giusto?
Beh, c’è un problema. Intune non ha alcun tipo di app che possa distribuire direttamente dal repository della community di WinGet, ma solo app dal Microsoft Store. A complicare ulteriormente le cose, lo strumento da riga di comando di WinGet non è supportato quando uno script viene eseguito come SYSTEM, il contesto che Intune usa quando il comportamento di installazione di un’app è impostato su System.
Tenendo conto di questo, come puoi distribuire WinGet con Intune? Abbiamo individuato quattro metodi che possono semplificare la distribuzione, quindi vediamo quali sono, quanto costa ciascuno, come configurarli e come risolvere eventuali problemi che potresti incontrare.
Intune può distribuire app WinGet in modo nativo?
In parte. Il tipo app di Microsoft Store (nuovo) di Intune usa Windows Package Manager per trovare e installare app da Microsoft Store. Non può raggiungere il repository della community di WinGet, il catalogo pubblico che la maggior parte delle guide su WinGet usa, e nessun tipo di app di Intune esegue la distribuzione da lì. Per distribuire app del repository della community, ti serve uno script wrapper o un pacchetto Win32.
Questa differenza dipende da come è organizzato WinGet. Recupera le app da due fonti principali: Microsoft Store (msstore) e il repository della community di WinGet su GitHub. L'integrazione Store di Intune, che ha sostituito Microsoft Store for Business ormai ritirato, si collega solo alla prima.
Potresti anche vedere il Catalogo app enterprise di Microsoft menzionato nelle discussioni su Intune WinGet. Si tratta di una libreria separata di app Win32 che Microsoft prepara e ospita, e Microsoft afferma che non utilizza WinGet. Richiede anche un abbonamento oltre a Intune Plan 1 o Plan 2.
Quattro modi per usare WinGet con Intune
Se vuoi distribuire app WinGet con Intune, ci sono comunque dei modi per farlo. Questi sono i quattro modi più comuni per usare WinGet con Intune, incluso per cosa sono più adatti e i loro limiti:
Metodo | Origine app | Licenze aggiuntive | Limitazione principale | Ideale per |
1. App Microsoft Store (nuova) | Microsoft Store (msstore) | Nessuno oltre a Intune | Solo app elencate nello Store; le app Win32 Store sono ancora in anteprima | App pubblicate dal fornitore nel Microsoft Store |
2. Wrapping di un'app Win32 con uno script WinGet | Repository della community di WinGet | Nessuno oltre a Intune | Scrivi e gestisci gli script di installazione, rilevamento e disinstallazione; WinGet deve essere individuato ed eseguito con SYSTEM | Un breve elenco di app della community e un team a proprio agio con PowerShell |
3. Remediations che eseguono gli aggiornamenti di WinGet | Repository della community di WinGet | Windows Enterprise E3/E5 o Education A3/A5 | Mantiene aggiornate le app installate; non gestisce la prima installazione | Aggiorna l’integrità dei dispositivi che hanno già le app |
4. Pacchetto Win32 nativo creato dal programma di installazione | Programma di installazione trovato tramite il manifest di WinGet o il fornitore | Nessuno oltre a Intune | Packaging, regole di rilevamento e test per ogni app e versione | Distribuzioni controllate e testate su larga scala |
Ecco come funziona ogni metodo, passo dopo passo.
Metodo 1: distribuisci le app di Microsoft Store con il tipo di app Microsoft Store (nuovo)
Il primo modo (e probabilmente il più semplice) per distribuire le app è tramite l'app Microsoft Store. Puoi farlo in pochi semplici passaggi:
Nell'Intune admin center, vai su App → Tutte le app → Crea, quindi seleziona Microsoft Store app (new) in Store app.
Seleziona “Cerca nell’app Microsoft Store” e cerca l’app che vuoi per nome, editore o ID dell’app dello Store. I risultati mostreranno se ogni app è Win32 o UWP.
Rivedi le informazioni dell'app precompilate, imposta il comportamento di installazione su Sistema o Utente (nota che alcune app ne supportano solo uno) e configura le opzioni del Portale aziendale (come app in evidenza e categoria).
Assegna l'app come Obbligatoria, Disponibile per i dispositivi registrati o Disinstalla, e imposta le notifiche per l'utente finale, il periodo di tolleranza per il riavvio e la scadenza dell'installazione.
Rivedi e crea. Intune mantiene l'app aggiornata man mano che vengono rilasciate nuove versioni.
Detto questo, ci sono alcune limitazioni e alcuni prerequisiti da tenere presenti. Questi possono complicare il processo e potrebbero significare che dovrai provare un metodo diverso:
I dispositivi devono disporre di Intune Management Extension, di almeno due core del processore e dell'accesso alla rete per lo Store e i contenuti del publisher.
Le app Win32 nello Store sono ancora in anteprima e non tutte le app Win32 sono ricercabili. Allo stesso modo, le app a pagamento e i programmi di installazione ARM64 non sono supportati.
Le app Win32 dello Store restano aggiornate solo finché rimangono assegnate in Intune.
I dispositivi registrati in Entra devono usare il comportamento di installazione di sistema (quindi Utente non è un’opzione).
Metodo 2: racchiudi un comando WinGet in un'app Win32
Se l'app Microsoft Store non soddisfa le tue esigenze, puoi distribuire WinGet tramite Intune racchiudendo un comando WinGet in un'app Win32. In questi casi, un'app Win32 è più affidabile di un semplice script di piattaforma perché include il rilevamento dello stato, i codici di ritorno e un comando di disinstallazione, elementi di cui non dispongono le distribuzioni di script su una sola riga.
Perché WinGet non funziona quando Intune viene eseguito come SYSTEM
Quando il comportamento di installazione di un'app Win32 è impostato su System, Intune esegue il comando di installazione come SYSTEM, ed è qui che WinGet smette di funzionare. Il WinGet CLI non è supportato nel contesto SYSTEM perché viene distribuito all'interno di App Installer, un'app pacchettizzata (MSIX) registrata per singolo utente. Di conseguenza, richiamare WinGet per nome in uno script SYSTEM in genere non funziona perché SYSTEM non riesce a individuarlo.
Esistono alcune soluzioni alternative. Gli script della community in genere risolvono questo problema individuando winget.exe in C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe, ma questo non è un metodo supportato da Microsoft. L’opzione supportata da Microsoft è il modulo PowerShell Microsoft.WinGet.Client, che funziona nel contesto di sistema per le app installate a livello di computer.
Scrivi lo script di installazione
Per scrivere lo script di installazione, ti conviene prima trovare l’ID del pacchetto, quindi installarlo usando esattamente quell’ID dal repository della community. Puoi cercare l’ID con winget search <app name>, oppure senza usare la riga di comando su winstall, il browser gratuito del catalogo WinGet di Splashtop. Una volta ottenuto l'ID, il comando di installazione sarà simile a questo: winget install --id Git.Git -e --source winget --silent --accept-package-agreements --accept-source-agreements
Per le installazioni SYSTEM, ti conviene includere --scope machine. Tieni presente che Microsoft avverte che i programmi di installazione EXE non gestiscono lo scope in modo coerente.
Per Microsoft Intune, il comando di installazione può essere uno script PowerShell fino a 50 KB. Usando powershell.exe nel campo del comando si avvia la versione a 32 bit, mentre usando il percorso Sysnative si può usare PowerShell a 64 bit.
Aggiungi uno script di rilevamento
Assicurati di aggiungere uno script per rilevare e confermare quando l'app è installata correttamente. Intune considera l'app come installata solo quando lo script termina con il codice 0 e scrive l'output su STDOUT; qualsiasi output su STDERR viene interpretato come non installata. In genere lo script controlla la cartella di installazione dell'app, la versione del file o la chiave di registro di disinstallazione. Se controlli con winget list, incontrerai lo stesso problema con SYSTEM, quindi è meglio usare controlli su file o registro.
Crea il pacchetto degli script e carica l'app Win32
Infine, crea il pacchetto degli script con Microsoft Win32 Content Prep Tool per produrre il file .intunewin file. Puoi quindi aggiungere quel file in Apps → All apps → Add → Windows app (Win32), impostare il comportamento di installazione su System e aggiungere il comando di disinstallazione, lo script di rilevamento e i requisiti. Usa percorsi completi nel comando di disinstallazione, poiché Intune non espande lì le variabili di ambiente.
Tieni presente che ogni app richiede il proprio set di script e i relativi aggiornamenti, e che WinGet deve essere presente e funzionante su ogni dispositivo su cui è installato. Di conseguenza, questo metodo può richiedere un carico di manutenzione maggiore rispetto agli altri.
Metodo 3: mantieni aggiornate le app WinGet con Intune Remediations
Con Intune Remediations, puoi abbinare uno script di rilevamento a uno script di correzione. Per WinGet, lo script di rilevamento verifica se un'app installata ha una nuova versione disponibile; in tal caso, lo script di correzione esegue winget upgrade per quell'ID pacchetto. Funziona come metodo di aggiornamento da abbinare ai Metodi 2 e 4, ma non gestisce l'installazione iniziale.
Le licenze vengono prima di tutto. Intune Remediations richiede Windows Enterprise E3 o E5 (incluso in Microsoft 365 F3, E3 o E5) oppure Windows Education A3 o A5, e i dispositivi devono essere gestiti o co-gestiti con Intune ed eseguire Windows Enterprise, Professional o Education.
Per mantenere aggiornate le app con Intune Remediations, ti basta seguire pochi semplici passaggi:
Nel centro di amministrazione Intune, vai a Devices → Manage devices → Scripts and remediations.
Crea un pacchetto di script con uno script di rilevamento che controlli l’ID del pacchetto per verificare la disponibilità di un aggiornamento.
Aggiungi uno script di correzione che esegua l'aggiornamento per quell'ID con
--silente con entrambi i flag--accept.Assegnala a un gruppo di dispositivi e imposta una pianificazione per controllare gli aggiornamenti.
Assicurati di selezionare gli ID pacchetto specifici che vuoi aggiornare. Anche se puoi usare winget upgrade --all, questo aggiornerà ogni app riconosciuta da WinGet, comprese quelle che l'IT non ha approvato o testato. Tieni inoltre presente che WinGet installa la versione più recente dal repository, quindi potrebbe distribuire gli aggiornamenti prima che il team IT abbia la possibilità di testarli. Se lo script di correzione viene eseguito come SYSTEM, incontra la stessa limitazione di WinGet descritta nel Metodo 2.
Metodo 4: pacchettizzare il programma di installazione come app Win32 nativa
È anche possibile riconfezionare il programma di installazione come app Win32 nativa. In questo caso, WinGet funge da fonte di informazioni sull'app, anziché dall'app stessa. Utilizzando il manifesto di WinGet per individuare il programma di installazione e i suoi parametri silent, puoi distribuire il programma di installazione come app Win32 standard.
Questo significa che i dispositivi possono distribuire l’app senza un client WinGet funzionante, il problema del contesto SYSTEM non si applica e hai accesso a tutte le funzionalità Win32 di Intune.
Puoi creare il pacchetto del programma di installazione come app Win32 in pochi passaggi:
Trova l’ID del pacchetto con
winget search(oppure cercalo su winstall) e controlla il relativo manifest per il tipo di installer, l’URL di download e gli switch silenziosi. (WinGet richiede che ogni installer elencato supporti l’installazione silenziosa.)Scarica il programma di installazione con WinGet o dal fornitore.
Conferma il comando di installazione silenziosa per quel tipo di programma di installazione. Le nostre guide alle installazioni silenziose MSI e alle installazioni silenziose EXE illustrano gli switch per ciascun tipo di programma di installazione.
Racchiudi il programma di installazione con Microsoft Win32 Content Prep Tool per creare il file .intunewin file.
Aggiungila come app Windows (Win32), includendo i comandi di installazione e disinstallazione, una regola di rilevamento (in base al codice prodotto MSI, al file o al registro), i requisiti e i codici di ritorno.
Verifica su un dispositivo di test pulito quanto bene l'app si installa, rileva un'installazione completata e si disinstalla, prima di distribuirla su altri dispositivi.
Ogni volta che viene rilasciata una nuova versione, dovrai ripetere la build e usare la supersedence per sostituire la vecchia app.
Questa opzione offre il massimo livello di personalizzazione e controllo ai team IT, anche se significa dover ripetere il processo per ogni app e aggiornamento. Di conseguenza, i team con cataloghi di app di grandi dimensioni potrebbero faticare a stare al passo con il carico di lavoro.
Quindi, quale metodo è il più efficace? Possiamo analizzarli nel dettaglio e capire quando il compromesso vale la pena e quando invece sono migliori altri metodi.
WinGet vs app Win32 in Intune: quale approccio fa al caso tuo
La scelta principale è se i dispositivi eseguono WinGet al momento dell’installazione o ricevono una Win32 app che hai pacchettizzato in anticipo. Ecco come si confrontano i due metodi:
Fattore | WinGet al momento dell'installazione (Metodi 2 e 3) | App Win32 pacchettizzata (metodo 4) |
Client WinGet sul dispositivo | Obbligatorio e deve funzionare in SYSTEM | Non necessario |
Origine del programma di installazione | Scaricato su ciascun dispositivo dall’URL nel manifesto | Caricato una volta in Intune come file .intunewin file |
Versione da installare | Qualsiasi elemento elencato nel repository, a meno che non sia bloccato con | La build esatta che hai pacchettizzato e testato |
Rilevamento | Uno script che scrivi e gestisci tu | Regole integrate MSI, file o registro, oppure uno script |
Aggiornamenti | Correzioni o un nuovo script per app | Nuovo pacchetto più sostituzione |
Impegno iniziale | Basso per app | Più alto per app |
Confrontando le opzioni, possiamo vedere alcuni dettagli importanti. Per una manciata di utility a basso rischio, gli script WinGet possono essere rapidi e richiedere meno lavoro iniziale. Per le app aziendali, i dispositivi soggetti a normative o cataloghi di grandi dimensioni, un’app Win32 pacchettizzata è più affidabile perché offre versioni prevedibili e test prima della distribuzione su larga scala.
Se l'app è elencata nel Microsoft Store, il Metodo 1 è di solito l'opzione più semplice.
Problemi comuni durante la distribuzione delle app WinGet con Intune
Anche con il metodo giusto, distribuire app WinGet con Intune presenta delle difficoltà. I team IT possono incontrare problemi comuni durante la distribuzione delle app, ma possono identificarli e risolverli.
I problemi più comuni includono:
1. WinGet non viene riconosciuto in uno script Intune
Se il tuo script segnala che winget non è riconosciuto, molto probabilmente lo script è in esecuzione come SYSTEM, dove WinGet CLI non è supportato perché App Installer si registra per utente. Puoi risolvere il problema individuando winget.exe tramite il suo percorso completo oppure usando il Microsoft.WinGet.Client PowerShell module, come indicato nel Metodo 2.
2. L'app viene installata per l'utente sbagliato o nel posto sbagliato
Se l'app viene installata nella posizione sbagliata o per l'utente sbagliato, il problema riguarda l'ambito di installazione. Con SYSTEM, l'ambito utente viene risolto nel profilo di SYSTEM, mentre i programmi di installazione EXE gestiscono in modo incoerente l'ambito utente rispetto a quello macchina. Per risolvere il problema, usa --scope machine per le installazioni SYSTEM (assicurati di testarlo prima di distribuire l'app più ampiamente).
3. Il download non riesce con un errore 403 Forbidden
Se il download restituisce un errore 403 Forbidden, il fornitore del software potrebbe bloccare lo user agent di WinGet sui propri server di download. Se l’installer viene scaricato correttamente nel browser, probabilmente è questa la causa. Quando succede, puoi scaricare direttamente l’installer e distribuirlo come app Win32 pacchettizzata, come descritto nel Metodo 4.
4. Un'app dello Store non viene visualizzata nella ricerca di Intune
Se un'app dello Store non viene visualizzata quando la cerchi, potrebbe essere per uno di questi tre motivi: 1. Non è disponibile nella tua area geografica, 2. È un'app a pagamento, quindi non è supportata, oppure 3. La sua piattaforma non è supportata. Indipendentemente dalla causa, inizia confermando la scheda dell'app e, se non è accessibile, usa il Metodo 2 o 4 per installarla.
5. Un'app UWP Store segnala "non rilevata dopo l'installazione" (0x87D1041C)
Se ricevi questo avviso, significa che un'app UWP è assegnata con comportamento di installazione di sistema a un dispositivo che la possiede già. In questo caso, non preoccuparti; l'app è comunque installata correttamente. Microsoft consiglia inoltre di non mischiare i contesti utente e sistema per la stessa app.
6. Scopri perché un'installazione WinGet non è riuscita
Se un'installazione di WinGet non è riuscita e non sai bene perché, puoi indagare per determinare e risolvere la causa. Aggiungendo --verbose-logs al comando ottieni i log completi, e puoi eseguire winget error <code> per tradurre un codice di uscita in una descrizione. Tieni presente che questo copre i codici WinGet, MSIX e MSI, ma molti programmi di installazione EXE possono usare codici non standard. La nostra guida all'installazione silenziosa EXE spiega come trovarli.
Come Splashtop Agentic Packr trasforma le app WinGet in pacchetti Intune testati
Distribuire app WinGet con Intune può essere complicato, ma non deve per forza esserlo. Con la giusta automazione, i team possono creare rapidamente ed efficientemente i pacchetti di installazione senza impegnare le risorse IT.
Ed eccoci a Splashtop Agentic Packr, uno strumento basato sull'AI per il packaging e la distribuzione di applicazioni per i moderni team IT. Agentic Packr può creare pacchetti, convalidare e distribuire applicazioni tramite Microsoft Intune, SCCM e altro ancora, con un impegno manuale molto inferiore.
Splashtop Agentic Packr offre diverse funzionalità e vantaggi, tra cui:
1. WinGet come origine, senza client WinGet sui dispositivi
Splashtop Agentic Packr può creare pacchetti di app da un catalogo WinGet verificato, tramite ID pacchetto WinGet o Chocolatey, oppure dai tuoi installer. Crea un'app Win32 nativa per Intune, così non devi preoccuparti dei problemi di contesto WinGet e SYSTEM che gli utenti incontrano spesso.
2. Regole di rilevamento scritte e testate prima di qualsiasi distribuzione
Quando l'agente basato sull'AI legge il programma di installazione, scrive regole di rilevamento e testa la build su una macchina virtuale pulita. Questi test verificano che l'installazione, il rilevamento e la disinstallazione funzionino, eseguono una scansione malware e producono una scorecard QA e dei log che gli amministratori IT possono controllare prima che l'app arrivi in Intune e venga distribuita sui dispositivi.
3. Pubblicazione e nuove versioni senza ricompilazioni manuali
Splashtop Agentic Packr elimina la necessità di ricreare manualmente i pacchetti ogni volta che viene rilasciato un nuovo aggiornamento. Grazie alla connessione Express con un clic al tenant Intune e agli aggiornamenti automatici della versione, Agentic Packr rileva i nuovi aggiornamenti, li impacchetta, li testa e distribuisce il pacchetto aggiornato senza che gli amministratori debbano gestire manualmente ogni aggiornamento.
4. Controllo su ciò che gli utenti vedono
Splashtop Agentic Packr offre all'IT il controllo su come installazioni e aggiornamenti vengono mostrati agli utenti. I team possono personalizzare le notifiche per gli utenti finali, i rinvii, le richieste di riavvio e i periodi di tolleranza, così è meno probabile che installazioni e aggiornamenti obbligatori interrompano gli utenti mentre lavorano.
Distribuisci app WinGet su Intune senza dover gestire script
WinGet è un’ottima fonte di informazioni sulle app e Intune è ideale per distribuire le app, ma Intune non può distribuire direttamente dal repository della community di WinGet. Il metodo scalabile consiste nel trasformare le voci di WinGet in pacchetti Win32 testati.
Con Splashtop Agentic Packr, puoi creare, testare e pubblicare pacchetti di app con molto meno lavoro manuale. Agentic Packr rende il packaging più rapido e semplice, usando un'unica console per creare i pacchetti, distribuire e aggiornare le app, mantenendo al tempo stesso il controllo per gli amministratori.
Vuoi distribuire app WinGet con Intune senza complicazioni? Scopri come Splashtop Agentic Packr può aiutarti già da oggi.





