Abbiamo già visto nella guida Windows Package Manager: Installazioni semplificate delle applicazioni In Windows 10 e in Windows 11 che è possibile installare applicazioni in Windows tramite Windows Package Manager (anche conosciuto come winget), una soluzione gratuita e open-source di gestione pacchetti completa costituita da uno strumento da riga di comando (winget) e da un set di servizi per l'installazione di applicazioni in Windows 10 e Windows 11.

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. 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. Un utilizzo può essere quello trattato nel mio articolo Boxstarter e Chocolatey: Automatizzare l’installazione dei software in Windows.

Chocolatey è un repository per Windows gestito dalla comunità che ad oggi contiene circa 7.500 differenti pacchetti software pronti per l'installazione.

Si tratta del più vasto registro online di pacchetti per Windows: i pacchetti di Chocolatey racchiudono tutto ciò che è necessario per gestire un particolare programma comprendendo procedure d'installazione, eseguibili, file compressi, script, il tutto in un unico file compilato (formato nupkg).

Alla pagina Chocolatey Software | Packages trovate la lista di tutti i pacchetti disponibili, da cui potrete anche ricavare il nome da utilizzare per l’installazione dei pacchetti software

Una volta installato Chocolatey utilizzando lo script presente a link https://chocolatey.org/install.ps1 sarà possibile utilizzare una sintassi molto semplice per installare i pacchetti. PowerShell provvederà a scaricare e a eseguire lo script ufficiale per la configurazione di Chocolatey sul sistema locale. Verrà creata anche la variabile globale choco in modo che sia possibile installare i pacchetti software usando la sintassi choco install nomepacchetto.

 

Requisiti di installazione

Chocolatey necessita dei seguenti requisiti per l’installazione

  • Windows 7+/Windows 2003+ (Server Core also, but not Windows Nano Server)
  • Windows PowerShell v2+ (not PowerShell Core aka PowerShell 6 yet)
  • .NET Framework 4.x+

Installazione di Chocolatey

Per installare Chocolatey aprite un terminale con privilegi amministrativi (io ho scelto PowerShell) e lanciate il seguente comando

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

 

 

 

Figura 1: Installazione di Chocolatey in Windows 11

 

Verificate con il comando choco /? che l’installazione sia andata a buon fine e per imparare i comandi disponibili

 

 

 

 

Figura 2: Verifica dell'installazione di Chocolatey

 

È disponibile anche un’interfaccia grafica chiamata Chocolatey GUI che si installa tramite il comando choco install chocolateygui. Come potete vedere tramite un semplicissimo comando viene scaricata e installata un’applicazione e tutte le sue dipendenze.

 

 

 

 

Figura 3: Installazione di Chocolate GUI

 

 

 

 

Figura 4: Interfaccia di Chocolatey GUI

 

Selezionando il nodo chocolatey nel menu di sinistra vi verranno mostrati tutti i pacchetti a disposizione.

 

 

 

 

Figura 5: Pacchetti disponibili in Chocolatey

 

Selezionate il pacchetto di vostro interesse e cliccate due volte per vederne le caratteristiche e le dipendenze. Fate clic su Install per iniziare il download e l’installazione.

 

 

 

 

Figura 6: Caratteristiche del pacchetto da installare ed eventuali dipendenze

 

 

 

 

Figura 7: Installazione del pacchetto in corso

 

Nel nodo This PC a sinistra potrete vedere tutti i software installati.

 

 

 

 

Figura 8: Software installati sul PC

 

Conclusioni

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. Chocolatey funziona con più di 20 tecnologie di installazione per Windows, utilizza PowerShell e permette di effettuare installazioni non assistite di tantissimi pacchetti, semplificando di fatto sia la distribuzione delle applicazioni sia la loro eventuale configurazione. Grazie a Chocolatey è possibile automatizzare l'installazione dei software più utilizzati in ambiente Windows e gestirne l'intero ciclo di vita usando un unico strumento. In più è una soluzione open source.

Maggiori informazioni in lingua inglese alla pagina Chocolatey Software Docs | Why Chocolatey?

 

 

Da Windows 10, versione 2004 è disponibile una funzionalità molto utile nel caso ci sia la necessità di resettare il pc: Reset this PC option – Cloud Download. Grazie a questa funzionalità non abbiamo più bisogno di un DVD o di una pendrive USB per reinstallare Windows, ma possiamo semplicemente effettuare il Reset della macchina, che riporterà il sistema operativo al momento della sua installazione iniziale.

Ne avevo già parlato nella guida NicolaFerrini.it - Reset di Windows 10 utilizzando l’opzione di Cloud Download

La stessa funzionalità è presente in Windows 11. Per poter iniziare il reset e la reinstallazione di Windows 11 è sufficiente andare in Settings --> System --> Recovery e cliccare su Reset PC

 

 

 

Figura 1: Schermata di recovery di Windows 10

 

Scegliete se volete mantenere i vostri documenti oppure se volete rimuovere tutto e reinstallare completamente il sistema operativo. Io ho scelto di mantenere i miei file.

 

 

 

 

Figura 2: Opzioni per il ripristino di Windows

 

Nella schermata successiva scegliete  se volete utilizzare il Cloud Download e scaricare i file più aggiornati oppure se volete ripristinare Windows con la stessa versione che è attualmente installata.

 

 

 

 

Figura 3: Scelta della modalità di Cloud download per la reinstallazione di Windows 10

 

A questo punto seguite il wizard per completare le configurazioni richieste e procedete al reset.

 

 

 

 

Figura 4: Avviso relativo alle configurazioni di reset

 

 

 

 

Figura 5: Avvio del reset

 

 

 

 

Figura 6: Download dei file necessari alla reinstallazione di Windows 11

 

Terminato il download dei file necessari, la reinstallazione di Windows 10 procede in automatico e saranno necessario diversi riavvi. Nelle schermate sotto sono mostrati tutti i passaggi visualizzati dall’utente.

 

 

 

 

Figura 7: Primo riavvio della macchina con Windows 11

 

 

 

 

Figura 8: Secondo riavvio della macchina Windows 11

 

Dopo qualche minuto all’utente verrà chiedo di accedere alla macchina e si procederà con le ultime configurazioni.

 

 

 

 

Figura 9: Aggiornamento del profilo utente e ultime configurazioni

 

 

 

 

Figura 10: Aggiornamento del profilo utente e ultime configurazioni

 

 

 

 

Figura 11: Aggiornamento del profilo utente e ultime configurazioni

 

Nel giro di 2-3 minuti l’utente potrà accedere al proprio profilo. Ovviamente avendo resettato il PC sarà necessario reinstallare tutte le applicazioni.

Sul desktop troverete una pagina web con tutte le applicazioni che sono state rimosse durante il Reset.

 

 

 

 

Figura 12: Reset di Windows 11 completato

 

 

 

 

Figura 13: Elenco delle applicazioni rimosse durante il Reset

 

Ripristino di Windows 10 in caso di guasto grave oppure di BSOD (Blue Screen OF Death)

Nel caso il PC abbia subito un guasto software grave e non siate in grado di riavviarlo, è possibile utilizzare la stessa funzionalità facendolo ripartire in modalità Recovery.

 

 

 

 

Figura 14: Windows 11 ha riscontrato un problema e viene visualizzato un BSOD (Blue Screen OF Death)

 

Nel momento in cui Windows 11 parte in modalità Recovery (che potete anche forzare tenendo premuto il tasto SHIFT quando riavviate il PC) è possibile scegliere la voce TroubleShoot per resettarlo

 

 

 

 

Figura 15: Opzione di troubleshoot disponibile nel recovery mode di Windows 11

 

 

 

 

Figura 16: Reset del PC nel recovery mode di Windows 11

 

 

 

 

Figura 17: Scelta della rimozione dei file o del mantenimento dei propri documenti

 

 

 

 

Figura 18: Scelta della modalità di reinstallazione, con il Cloud download

 

 

 

 

Figura 19: Avvio del reset del PC

 

Il PC verrà riavviato diverse volte e nelle schermate sotto sono mostrati tutti i passaggi visualizzati dall’utente.

 

 

 

 

Figura 20: Downlaod dei file necessari al reset di Windows 10 tramite Internet

 

 

 

 

Figura 21: Reset del PC

 

 

 

 

Figura 22: Reinstallazione di Windows 11

 

Dopo qualche minuto all’utente verrà chiedo di accedere alla macchina e si potrà procedere con le ultime configurazioni e con la reinstallazione delle applicazioni rimosse.

 

 

 

 

Figura 23: Reset di Windows 11 avvenuto con successo

 

Conclusioni

La funzionalità di Cloud Download permette di poter effettuare la reinstallazione di Windows 10 senza avere a disposizione la ISO di Windows e anche nel caso in cui l’installazione sia corrotta sarà possibile ripristinare il sistema operativo, scaricando i file più aggiornati direttamente da Internet. La soluzione è decisamente interessante per l’utente finale, che quasi mai ha a disposizione il DVD di installazione.

 

 

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

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. Un utilizzo può essere quello trattato nel mio articolo Boxstarter e Chocolatey: Automatizzare l’installazione dei software in Windows.

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.

Windows Package Manager è preinstallato in Windows 10 1709 (build 16299) o versioni successive e in Windows 11.

Potete verificarne l’installazione controllando nel Microsoft Store che sia presente l’app “App Installer

 

 

 

Figura 1: App Installer nel Microsoft Store

 

Per gestire Windows Package Manager tramite Group Policy è necessario prima scaricare e installare gli Administrative Template files (ADMX/ADML) per il Windows Package Manager. Dopo averli estratti sarà sufficiente copiarli nella cartella C:\Windows\PolicyDefinitions del domain controller. Riaprendo successivamente il Group Policy Editor per qualsiasi GPO, le nuove configurazioni saranno disponibili e potranno essere utilizzate per poter gestire le applicazioni Office, come mostrato nelle figure sotto. Ricordatevi anche di copiare la cartella degli ADML (language pack degli ADMX) della stessa lingua del domain controller!

Se avete più domain controller, come è giusto che sia, e se sono anche distribuiti in diversi Site di Active Directory, sarà necessario copiare gli Administrative Templates in tutte le cartelle C:\Windows\PolicyDefinitions di tutti i domain controller in modo tale da poterlo configurare da qualsiasi DC e non necessariamente dal DC che ha il ruolo di PDC Emulator. Per ovviare a questa incombenza è possibile utilizzare il Central Store delle GPO, disponibile da Windows Server 2008.

 

 

 

Figura 2: Gestione del Windows Package Manager utilizzando le Group Policy

 

Utilizzo del client winget

winget è uno strumento software open source disponibile su GitHub nel repository https://github.com/microsoft/winget-cli/

 

 

 

Figura 3: Opzioni del comando winget

 

 

 

 

Figura 4: Esempio di utilizzo del comando winget

 

Per ulteriori informazioni sul comando winget vi invito a visualizzare la pagina Usare lo strumento winget per installare e gestire le applicazioni | Microsoft Learn

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.

 

Aggiornamento delle applicazioni con winget

Tramite il comando winget upgrade è possibile visualizzare se ci sono delle applicazioni installate che necessitano di aggiornamenti.

 

 

 

Figura 5: Ricerca degli aggiornamenti con il comando winget upgrade

Una volta visualizzata la presenza di aggiornamenti potrete utilizzare il comando winget upgrade <nome applicazione> per aggiornare la singola applicazione, oppure il comando winget upgrade  --all per aggiornarle tutte. Alla pagina Comando di aggiornamento | Microsoft Learn trovate tutte le informazioni sugli switch del comando di aggiornamento.

 

 

 

Figura 6: Aggiornamento di tutte le applicazioni con il comando winget upgrade --all

 

 

Package Manager Manifest

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, lo script YAMLCreate PowerShell oppure creare un manifesto manualmente.

 

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 7: 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

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. Tramite Windows Package Manager i fornitori di software indipendenti (ISV) possono distribuire facilmente i propri pacchetti software e le applicazioni, riduce il tempo impiegato per la preparazione di un ambiente.