Windows Package Manager: Installazione semplificata delle applicazioni in Windows Server 2025

Windows Package Manager (anche conosciuto come winget) è una soluzione gratuita e open-source di gestione pacchetti completa, sviluppata da Microsoft, costituita da uno strumento da riga di comando (winget) e da un set di servizi per l’installazione di applicazioni in Windows 10, Windows 11 e Windows Server 2025.

Uno strumento di gestione pacchetti è un sistema o un set di strumenti usati per automatizzare l’installazione, l’aggiornamento, la configurazione e l’utilizzo del software. La maggior parte degli strumenti di gestione pacchetti è progettata per individuare e installare gli strumenti di sviluppo, ma non solo. Probabilmente molti di voi conosceranno prodotti simili, come Chocolatey, Scoop, Ninite, AppGet, Npackd e OneGet. Il vantaggio offerto da questi tool è quello di ridurre il tempo impiegato per la preparazione di un ambiente e garantire che nel computer siano installate le stesse versioni dei pacchetti.

Windows Package Manager fu annunciato nella conferenza Microsoft Build 2020 e a maggio 2021 fu rilasciato Windows Package Manager v1.0 e il supporto alle Group Policy. Si tratta di un open set di API che è anche possibile integrare con software di Endpoint Management, come Microsoft Intune. Il client di frontend è il tool a riga di comando winget.

Con il comando winget è possibile interrogare un catalogo pubblico di applicazioni, tramite il nuovo Microsoft Store oppure appWin32, .NET, UWP, Xamarin, Electron, Reactive Native, Java e Progressive Web Apps (PWA) scritte da sviluppatori di terze parti.

Utilizzo del client winget

Winget è uno strumento software open source disponibile su GitHub nel repository https://github.com/microsoft/winget-cli/ e come ho già scritto prima è preinstallato in Windows Server 2025. Offre il vantaggio di poter gestire software senza dover scaricare manualmente file di installazione da diversi siti web, è utile per utenti avanzati o amministratori di sistema che gestiscono molte macchine e racchiude diverse fonti di software in un singolo strumento centralizzato. Non male, no?

Figura 1: Windows Package Manager e lo strumento winget sono disponibili in Windows Server 2025

Ricerca delle applicazioni

Il comando winget search è una delle funzionalità principali del Windows Package Manager (winget). Questo strumento consente agli utenti di cercare applicazioni o pacchetti all’interno dei repository supportati, principalmente il Microsoft Community Repository, che è una vasta raccolta di software gestita dalla community e da Microsoft.

Potete utilizzare winget search per trovare software specifico da installare. Inserendo il nome parziale o completo del software, winget ti restituirà un elenco di applicazioni corrispondenti, insieme a informazioni utili, come il nome completo del pacchetto, la versione e l’ID del pacchetto.

Ad esempio potete cercare winget search firefox e questo comando cercherà tutte le versioni disponibili di Mozilla Firefox o altre applicazioni che contengono “firefox” nel nome. Io ho digitato winget search Microsoft per trovare tutti i pacchetti che nel nome o nell’ID contengono la parola Microsoft e il risultato è mostrato nella figura sotto:

Figura 2: Ricerca dei pacchetti applicativi disponibili nel Microsoft Community Repository

Installazione delle applicazioni

Per installare un pacchetto software tramite il Windows Package Manager (winget) si usa il comando winget install <nome_pacchetto_o_ID>. Io ho deciso di installare il software Process Monitor di Sysinternals e ho utilizzato il comando winget install Microsoft.Sysinternals.ProcessMonitor.

Subito dopo l’installazione, ho lanciato un nuovo prompt di PowerShell e ho lanciato il comando procmon per avviarlo, come mostrato nella figura sotto. Il tutto in meno di 30 secondi!

Figura 3: Installazione ed esecuzione del software installato con winget

NOTA: Quando winget viene eseguito senza privilegi di amministratore, l’installazione di alcune applicazioni potrebbe richiedere l’elevazione dei privilegi. Durante l’esecuzione del programma di installazione, Windows richiederà l’elevazione dei privilegi.

Altri parametri utili per l’installazione delle applicazioni

Winget offre diversi parametri opzionali per rendere più flessibile l’installazione:

  • –exact: Specifica di installare esattamente il pacchetto corrispondente al nome o all’ID specificato, senza tentare di corrispondere a nomi parziali. Esempio: winget install “Firefox” –exact
  • –version <versione>: Specifica una versione esatta del pacchetto da installare, nel caso volessi una versione diversa dalla più recente. Esempio: winget install Microsoft.VisualStudioCode –version 1.59.0
  • –interactive: Avvia l’installazione in modalità interattiva, permettendo all’utente di interagire con eventuali finestre di installazione (come un normale installer grafico). Esempio: winget install “Google Chrome” –interactive
  • –silent: Effettua l’installazione in modalità silenziosa, senza mostrare finestre o richiedere input all’utente. Esempio: winget install “Google Chrome” –silent
  • –location <path>: Specifica un percorso personalizzato in cui installare il software. Non tutte le applicazioni supportano questa opzione. Esempio: winget install “7-Zip” –location “C:\Programmi\7-Zip”
  • –scope: Specifica se installare il software per l’utente corrente o a livello di sistema (tutti gli utenti). I valori accettati sono user o machine. Esempio: winget install “Notepad++” –scope user

 

Aggiornamento delle applicazioni con winget

Il comando winget upgrade vi permette di aggiornare le applicazioni installate sul vostro sistema tramite il Windows Package Manager (winget). Con questo comando potete verificare se ci sono aggiornamenti disponibili per le applicazioni e procedere con l’aggiornamento in modo semplice e veloce.

Se eseguite il comando winget upgrade senza parametri, otterrete un elenco di tutte le applicazioni installate sul vostro sistema che hanno una nuova versione disponibile.

Se volete aggiornare solo un’applicazione specifica, potete usare il comando winget upgrade seguito dal nome o dall’ID del pacchetto. Esempio: winget upgrade Google.Chrome. Questo aggiornerà solo Google Chrome alla versione più recente.

Se volete aggiornare tutte le applicazioni che hanno una nuova versione disponibile, potete usare l’opzione –all. Esempio: winget upgrade –all (attenzione perché ci sono due trattini).

Opzioni avanzate di winget upgrade

  • –id <ID del pacchetto>: Specificate l’ID univoco del pacchetto per aggiornare solo quell’applicazione. Esempio: winget upgrade –id Microsoft.VisualStudio
  • –version <versione>: Potete specificare una versione esatta del software che volete aggiornare, se desiderate passare a una versione particolare diversa da quella più recente. Esempio: winget upgrade Google.Chrome –version 94.0.4606.61
  • –source <nome del repository>: Se avete più repository configurati, potete indicare da quale repository effettuare l’aggiornamento. Esempio: winget upgrade –source winget
  • –silent: Esegue l’aggiornamento in modalità silenziosa, senza finestre di dialogo o interazioni visive, ideale per aggiornamenti non intrusivi o script. Esempio: winget upgrade Google.Chrome –silent
  • –interactive: Permette di eseguire l’aggiornamento in modalità interattiva, utile se l’installazione richiede un intervento manuale, come accettare i termini e condizioni.

Alla pagina Comando di aggiornamento | Microsoft Learn trovate tutte le informazioni sugli switch del comando di aggiornamento.

Figura 4: Ricerca e installazione degli aggiornamenti con il comando winget upgrade

Come vengono inseriti i pacchetti applicativi nel Microsoft Community Repository?

I pacchetti applicativi disponibili nel Microsoft Community Repository di Windows Package Manager (winget) possono essere inseriti sia dai produttori ufficiali di software che dalla community di utenti. Tuttavia, esistono delle procedure per garantire la qualità e la sicurezza dei pacchetti inclusi nel repository.

  • Produttori ufficiali: Alcuni sviluppatori di software o produttori ufficiali gestiscono attivamente i pacchetti delle loro applicazioni nel repository. Questo garantisce che il software sia aggiornato, autentico e conforme agli standard del produttore stesso. Quando un produttore ufficiale gestisce il proprio pacchetto, di solito offre un supporto diretto o garantisce che il software sia sempre nella versione più recente.
  • Community di utenti: Molti pacchetti sono inseriti da membri della community che desiderano condividere applicazioni utili attraverso winget. Questi contributi non provengono necessariamente dai produttori ufficiali, ma passano attraverso un processo di revisione. Prima che un pacchetto venga accettato, è soggetto a controlli da parte del team di Microsoft o di revisori della community per garantire che il pacchetto sia legittimo, sicuro e funzionale.

Procedura di inserimento nel repository

  • Creazione di un pacchetto: Un utente (sia un produttore ufficiale che un membro della community) può proporre un nuovo pacchetto o una nuova versione di un pacchetto esistente tramite il Windows Package Manager Manifest Creator, uno strumento che aiuta a generare i file di manifest necessari per pubblicare il software nel repository. I manifest descrivono dettagli come nome, ID del pacchetto, versione, URL di download, hash del file per verificarne l’integrità, e altro.
  • Revisione: Prima che un pacchetto venga accettato nel Microsoft Community Repository, viene sottoposto a una revisione automatica e manuale. I controlli automatici verificano:
    • La validità degli URL di download.
    • L’integrità dei file tramite l’hash crittografico.
    • Che il pacchetto non contenga malware o software malevolo.

    Inoltre, i revisori della community possono esaminare manualmente il pacchetto per assicurarsi che non ci siano violazioni o problemi.

  • Aggiornamenti: Anche gli aggiornamenti ai pacchetti esistenti seguono una procedura simile. Chiunque può proporre aggiornamenti o segnalare problemi con i pacchetti attuali, e i contributori possono creare nuove versioni dei manifest per aggiornare il software.

Sicurezza e controllo

Microsoft pone molta attenzione alla sicurezza del Microsoft Community Repository:

  • Ogni pacchetto viene esaminato automaticamente per rilevare potenziali minacce.
  • La community stessa può segnalare problemi o pacchetti non funzionanti.
  • Microsoft si riserva il diritto di rimuovere pacchetti che violano le linee guida o che presentano rischi per la sicurezza.

Vantaggi del sistema aperto

  • Rapidità nell’aggiornamento: Grazie alla community, molti pacchetti vengono aggiornati velocemente quando vengono rilasciate nuove versioni del software.
  • Varietà: La community contribuisce a inserire una vasta gamma di applicazioni, comprese quelle meno conosciute o di nicchia, aumentando la disponibilità di software attraverso winget.
  • Coinvolgimento del produttore: Quando i produttori ufficiali gestiscono i loro pacchetti, si ha la garanzia che il software provenga direttamente dalla fonte affidabile.

 

Package Manager Manifest

Il Package Manager Manifest è un file che descrive in dettaglio le informazioni necessarie per gestire un pacchetto tramite il Windows Package Manager (winget). Ogni pacchetto presente nel repository di winget è accompagnato da un manifest che fornisce le specifiche del software, come il nome, la versione, l’URL per il download, e altri dettagli essenziali per l’installazione, l’aggiornamento o la rimozione dell’applicazione.

Per inviare un pacchetto software al Windows Package Manager Community Repository, iniziate creando un manifesto del pacchetto. Il manifesto è un file YAML che descrive l’applicazione da installare.

È possibile usare il Windows Package Manager Manifest Creator, un’applicazione ufficiale che facilita la creazione di manifest in modo visuale. Gli utenti possono specificare i dettagli del pacchetto tramite un’interfaccia grafica e lo strumento genera automaticamente il file YAML necessari. È anche possibile creare un manifesto manualmente, seguendo una struttura specifica definita da Microsoft.

NOTA: Potete anche approfondire sintassi ed utilizzi di YAML guardando un video molto interessante YAML – Sintassi ed utilizzi – YouTube a cura di Emiliano Musso.

Figura 5: Esempio di Manifest file

Dopo aver creato un manifesto del pacchetto che descrive l’applicazione, siete pronti per inviare il manifesto al Windows Package Manager repository. Si tratta di un repository pubblico che contiene una raccolta di manifesti a cui può accedere lo strumento winget. Per inviare il manifesto, dovrete caricarlo nel repository open source GitHub https://github.com/microsoft/winget-pkgs.

Dopo aver inviato una richiesta pull per aggiungere un nuovo manifesto al repository GitHub, un processo automatizzato convaliderà il file manifesto e verificherà che il pacchetto sia conforme ai criteri di Gestione pacchetti Windows e non sia noto come dannoso. Se la convalida ha esito positivo, il pacchetto verrà aggiunto al repository pubblico di Gestione pacchetti di Windows, in modo che possa essere individuato dallo strumento client winget.

NOTA: Microsoft si riserva il diritto di rifiutare un invio per qualsiasi motivo.

Trovate informazioni aggiuntive alla pagina https://learn.microsoft.com/it-it/windows/package-manager/package/repository

 

Conclusioni

Windows Package Manager e il comando winget offrono un modo potente e conveniente per installare, gestire e aggiornare le applicazioni sul vostro sistema Windows Server 2025. Grazie a questo strumento, potete facilmente verificare quali pacchetti sono hanno aggiornamenti disponibili e procedere con l’installazione delle versioni più recenti in pochi semplici comandi.

I principali vantaggi includono la semplicità di utilizzo, la possibilità di automatizzare l’intero processo di aggiornamento e la garanzia di scaricare software sicuro e verificato. Sia che si tratti di aggiornare una singola applicazione o tutte le applicazioni contemporaneamente, winget rappresenta un’ottima soluzione per mantenere il vostro sistema efficiente e aggiornato.