Winget è uno strumento di gestione pacchetti per Windows che permette di installare, aggiornare, configurare e rimuovere software. Ecco una guida dettagliata sull’uso pratico di Winget.
Winget, il Windows Package Manager, è simile ai gestori di pacchetti presenti in sistemi Linux, come APT (Advanced Package Tool) su distribuzioni basate su Debian, o YUM (Yellowdog Updater, Modified) su distribuzioni basate su Red Hat. Questi strumenti semplificano il processo di gestione del software su sistemi operativi, permettendo agli utenti di installare, aggiornare, configurare e rimuovere software in modo efficiente e automatizzato.
Installazione di Winget
- Prerequisiti: Assicurati che il tuo sistema operativo sia Windows 10 (versione 1709 o successiva) o Windows 11.
- Download: Winget è incluso nel Windows Package Manager, che puoi ottenere tramite l’App Store di Windows o scaricando l’ultima versione da GitHub.
Come usare Winget
Winget può essere utilizzato sia in Windows Command Prompt (CMD) che in Windows PowerShell, nonché in Windows Terminal, che supporta sia ambienti CMD che PowerShell. Ecco come puoi usare Winget in ciascuno di questi ambienti:
Uso di Winget in Command Prompt (CMD)
- Apertura di CMD: Puoi aprire il Prompt dei comandi cercando “cmd” nel menu Start e selezionando “Prompt dei comandi”.
- Esecuzione dei Comandi Winget: Una volta aperto CMD, puoi digitare i comandi Winget direttamente nella finestra del prompt.
Uso di Winget in PowerShell
- Apertura di PowerShell: Apri PowerShell cercando “PowerShell” nel menu Start e selezionando “Windows PowerShell”.
- Esecuzione dei Comandi Winget: I comandi Winget funzionano allo stesso modo in PowerShell come in CMD.
Uso di Winget in Windows Terminal
- Apertura di Windows Terminal: Se hai installato Windows Terminal, puoi aprirlo dal menu Start.
- Selezione dell’Ambiente: Windows Terminal ti permette di scegliere tra diversi profili, come PowerShell, Command Prompt, e altri ambienti di shell personalizzati.
- Esecuzione dei Comandi Winget: All’interno di Windows Terminal, seleziona il profilo desiderato (CMD o PowerShell) e usa i comandi Winget come faresti in quelle shell.
Note Aggiuntive
- In tutti e tre gli ambienti, i comandi Winget sono gli stessi. La scelta tra CMD, PowerShell o Windows Terminal dipende dalle tue preferenze personali o dalle necessità specifiche del tuo workflow.
- Assicurati che Winget sia installato e aggiornato alla versione più recente per accedere a tutte le sue funzionalità.
Uso Base di Winget
Installare un’applicazione
- Apri il Prompt dei comandi o Windows Terminal.
- Usa il comando
winget install [nome-app]
.
winget install VLC
Verifica gli aggiornamenti disponibili
- Per visualizzare la lista degli aggiornamenti disponibili digita
winget upgrade
.
Ricerca di un’applicazione
- Per trovare un’applicazione, usa
winget search [nome-app]
. - Questo mostrerà un elenco di applicazioni corrispondenti al termine di ricerca.
Visualizzare informazioni dettagliate
- Per ottenere dettagli su un’applicazione, usa
winget show [nome-app]
.
Aggiornare un’applicazione
- Usa
winget upgrade [nome-app]
per aggiornare una specifica applicazione.
Aggiornare tutte le applicazioni
- Per aggiornare tutte le applicazioni digita
winget upgrade --all
.
Disinstallare un’applicazione
- Usa
winget uninstall [nome-app]
per rimuovere un’applicazione.
Comandi utili
Ecco alcuni comandi utili di Winget, oltre a quelli già menzionati, che puoi trovare nella documentazione ufficiale di Microsoft:
- info: Mostra i metadati relativi al sistema, come numeri di versione, architettura, posizione del log, ecc. È utile per la risoluzione dei problemi.
winget info
- show: Visualizza i dettagli per l’applicazione specificata. Questo comando può essere usato per ottenere informazioni più dettagliate su un pacchetto.
winget show VLC
- source: Aggiunge, rimuove e aggiorna i repository di Gestione pacchetti Windows accessibili tramite lo strumento Winget.
# Aggiungi un repository:
winget source add --name [nome-repo] --arg [url-repo]
# Rimuovi un repository:
winget source remove [nome-repo]
# Aggiorna un repository:
winget source update [nome-repo]
- list: Mostra i pacchetti installati sul tuo sistema. È utile per avere una panoramica di tutte le applicazioni gestite tramite Winget.
winget list
- hash: Genera l’hash SHA256 per il programma di installazione. Questo comando è utilizzato principalmente per scopi di verifica e sicurezza.
winget hash --file [percorso-del-file]
- validate: Convalida un file manifesto da inviare al repository di Gestione pacchetti Windows. È utile per gli sviluppatori che vogliono contribuire al repository.
winget validate --manifest [percorso-del-manifesto]
- features: Mostra lo stato delle funzionalità sperimentali di Winget.
winget features
- export: Esporta un elenco dei pacchetti installati. Questo può essere utile per trasferire la stessa configurazione su un altro sistema.
winget export --output [nome-file.json]
- import: Installa tutti i pacchetti in un file. Questo comando è utile per ripristinare o duplicare una configurazione software su un’altra macchina.
winget import --import [nome-file.json]
- pin: Gestisce le aggiunte del pacchetto. Questo comando consente di “bloccare” un pacchetto a una specifica versione.
# Aggiungi un pin:
winget pin add --id [id-pacchetto] --version [versione]
# Rimuovi un pin:
winget pin remove --id [id-pacchetto]
- configure: Configura il sistema nello stato desiderato. Questo comando offre un controllo più fine sulla configurazione di Winget.
winget configure
Ogni comando ha diverse opzioni e varianti, quindi ti consiglio di esplorarli e sperimentarli in base alle tue esigenze. La documentazione ufficiale di Winget fornisce ulteriori dettagli e esempi su come utilizzare questi comandi.
Utilizzo Avanzato
Automazione
Creare uno script per automatizzare l’installazione o l’aggiornamento di più applicazioni con Winget è un ottimo modo per risparmiare tempo e garantire la coerenza nelle installazioni. Ecco un esempio di script che potresti usare in Windows:
# Esempio di script PowerShell per installare o aggiornare applicazioni con Winget
# Lista delle applicazioni da installare o aggiornare
$applicazioni = @("VLC", "GoogleChrome", "7zip")
# Ciclo per ciascuna applicazione
foreach ($app in $applicazioni) {
# Installa o aggiorna l'applicazione
winget install $app --accept-package-agreements --accept-source-agreements
}
# Messaggio finale
Write-Host "Installazione/Aggiornamento completati!"
In questo script:
- Viene definita una lista di applicazioni (ad esempio, “VLC”, “GoogleChrome”, “7zip”).
- Lo script esegue un ciclo per ciascuna applicazione nella lista.
- Per ogni applicazione, usa il comando winget install per installarla o aggiornarla, accettando automaticamente gli accordi relativi al pacchetto e alla fonte.
- Dopo l’installazione o l’aggiornamento di tutte le applicazioni, viene visualizzato un messaggio di completamento.
Puoi modificare la lista delle applicazioni e adattare lo script in base alle tue esigenze specifiche. Questo script può essere eseguito in PowerShell su Windows.
Gestione delle configurazioni
Winget permette di configurare il comportamento del tool tramite un file di configurazione JSON. Puoi specificare impostazioni come i percorsi di installazione predefiniti.
{
"source": {
"autoUpdateIntervalInMinutes": 1440
},
"visual": {
"progressBar": "rainbow"
},
"installer": {
"scope": "user",
"installLocation": "C:\\Programmi"
}
}
In questo esempio:
- “source”: Configura gli aggiornamenti automatici del repository di Winget.
- “visual”: Imposta lo stile della barra di avanzamento (in questo caso, un effetto arcobaleno).
- “installer”: Specifica le opzioni predefinite per l’installazione dei pacchetti. Qui, definisce la scope di installazione per l’utente e imposta una installLocation personalizzata.
Puoi creare o modificare questo file di configurazione in base alle tue preferenze e alle necessità specifiche. Il file di configurazione va salvato nel percorso appropriato affinché Winget possa leggerlo e applicare le impostazioni specificate.
Il file di configurazione JSON di Winget deve essere salvato in un percorso specifico sul tuo sistema Windows per essere riconosciuto e utilizzato da Winget. Generalmente, il percorso è il seguente:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Per accedervi, puoi:
- Premere Win + R per aprire la finestra “Esegui”.
- Incollare il percorso che segue e premere Invio.
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\
- Troverai qui il file settings.json, oppure puoi crearlo se non esiste già.
Assicurati che il file sia in formato JSON corretto e contenga le configurazioni che desideri applicare a Winget.
Repository Privati
La configurazione di Winget per utilizzare repository privati ti permette di gestire e installare pacchetti software interni all’azienda o personalizzati, oltre a quelli disponibili nei repository pubblici.
Passaggi per Aggiungere un Repository Privato
- Apri il Prompt dei Comandi o PowerShell.
- Utilizza il Comando source: Per aggiungere un nuovo repository, usa il seguente comando:
winget source add --name [nome-repo] --arg [url-repo]
dove [nome-repo] è il nome che vuoi dare al tuo repository privato e [url-repo] è l’URL del repository.
- Verifica l’Aggiunta: Puoi verificare che il tuo repository sia stato aggiunto correttamente con:
winget source list
Esempio Pratico
Supponiamo che tu abbia un repository privato all’indirizzo https://mio.repo.privato/. Per aggiungerlo, il comando sarà:
winget source add --name "MioRepoPrivato" --arg "https://mio.repo.privato/"
Dopo aver aggiunto il repository, puoi cercare e installare pacchetti da esso allo stesso modo in cui lo faresti con i repository pubblici.
Gestione dei Repository
- Aggiornare i Repository: Per aggiornare i repository, usa winget source update.
- Rimuovere un Repository: Se necessario, puoi rimuovere un repository con winget source remove [nome-repo].
Considerazioni di Sicurezza
- Assicurati che il repository privato sia sicuro e che i pacchetti siano affidabili, specialmente in un contesto aziendale.
- Gestisci l’accesso al repository in modo appropriato per mantenere la sicurezza del software distribuito.
L’uso di repository privati con Winget è particolarmente utile in ambienti aziendali o per gestire software personalizzato in modo efficiente e centralizzato.
Troubleshooting
Se incontri errori, consulta la documentazione ufficiale di Winget o cerca soluzioni nei forum di discussione o su GitHub.