Windhawk Backup Manager salva tutte le mod prima di reinstallare Windows

Windhawk Backup Manager crea archivi ZIP con configurazioni, sorgenti locali e DLL delle mod. È portabile e open source, ma la prima versione importa l'intero Registro anche durante un ripristino selettivo.

Personalizzare Windows 11 attraverso l’applicazione di alcune mod può richiedere pochi minuti; ricostruire la stessa configurazione dopo una reinstallazione, invece, rischia di trasformarsi in un lavoro lungo e poco piacevole. Windhawk semplifica l’installazione di modifiche per barra delle applicazioni, menu Start, Esplora file e per le varie applicazioni installate, ma ad oggi non offre ancora un comando integrato per esportare l’intera configurazione. Windhawk Backup Manager nasce per colmare proprio questa lacuna: raccoglie impostazioni, sorgenti locali e file compilati in un archivio ZIP, che può poi essere trasferito su un altro PC o conservato prima di formattare il sistema.

Si tratta di un progetto giovane e indipendente, distribuito su GitHub con licenza MIT.

Le personalizzazioni di Windhawk non vivono in un solo file facilmente copiabile: una parte delle informazioni risiede nel Registro di sistema, una nei sorgenti delle mod locali e un’altra nei moduli compilati caricati dal motore. Fare una copia manuale significa capire quali elementi appartengono davvero alla configurazione attiva, evitando vecchi file rimasti sul disco dopo aggiornamenti, prove o disinstallazioni.

Perché il backup di Windhawk non consiste nel copiare una cartella

Windhawk funziona in modo diverso rispetto ai programmi che applicano semplicemente un tema grafico. Il suo motore carica librerie nei processi interessati e usa tecniche di hooking per modificare il comportamento di applicazioni e componenti di Windows mentre sono in esecuzione.

Il repository ufficiale del progetto contiene l’eseguibile principale windhawk.exe e le librerie del motore a 32 e 64 bit; le singole mod, generalmente scritte in C++, individuano funzioni o elementi dell’interfaccia sui quali intervenire.

Una modifica può, per esempio, cambiare dimensioni e disposizione delle icone sulla barra delle applicazioni, ripristinare funzioni rimosse da Microsoft oppure alterare l’aspetto di controlli XAML. Windhawk deve conservare non soltanto l’elenco delle mod, ma anche le relative impostazioni e le informazioni necessarie per associare ogni elemento alla libreria compilata corretta.

Nella configurazione standard, Windhawk Backup Manager (che è uno script PowerShell) cerca i dati in %programdata%\Windhawk. La cartella ospita, tra le altre cose, le directory Engine\Mods e ModsSource.

Lo script consulta inoltre le chiavi HKLM\SOFTWARE\Windhawk\Engine\Mods e HKLM\SOFTWARE\Windhawk\Mods, dalle quali ricava i nomi delle personalizzazioni presenti e il valore LibraryFileName associato a ciascuna di esse.

La dipendenza dal Registro spiega perché una semplice copia della directory ProgramData non garantisce un ripristino completo. Allo stesso modo, esportare soltanto le chiavi di registro lascerebbe fuori eventuali sorgenti locali e le librerie già compilate. Lo script PowerShell prova quindi a coordinare le due operazioni.

Backup mod Windhawk

Come Windhawk Backup Manager individua le mod installate

L’interfaccia mostra una lista selezionabile delle mod rilevate. Il programma costruisce l’elenco leggendo le sottochiavi di Windhawk nel Registro e usa un insieme che ignora le differenze tra maiuscole e minuscole, così da evitare duplicati. Ogni voce viene poi associata al valore LibraryFileName, che identifica il file compilato utilizzato dal motore.

Durante il backup, l’utente può abilitare o disabilitare le singole voci. L’archivio proposto segue il formato WindhawkBackup_YYYYMMDD.zip, ma nome e posizione possono essere modificati tramite la classica finestra di salvataggio di Windows.

Prima di copiare i dati, lo script arresta il servizio WindhawkService: la precauzione riduce il rischio di leggere file mentre il motore li sta aggiornando o li mantiene aperti. Al termine dell’operazione, lo script tenta di riavviare il servizio e rimuove la directory temporanea utilizzata per costruire il pacchetto di backup.

Windhawk distingue le mod scaricate dal catalogo pubblico da quelle create o modificate in locale: Windhawk Backup Manager riconosce queste ultime attraverso il prefisso local@ e cerca nella cartella ModsSource i file il cui nome coincide con quello della mod o ne costituisce una variante con estensione.

Per le mod disponibili nel repository ufficiale, lo strumento non include automaticamente il sorgente nell’archivio.

Ripristino selettivo, ma con un limite importante nel Registro

Per avviare il ripristino delle mod utilizzate in Windhawk, l’utente seleziona un archivio ZIP creato in precedenza. Il programma lo estrae in una cartella temporanea, analizza il file windhawk_reg.reg e ricostruisce l’elenco delle mod cercando le sezioni relative a HKEY_LOCAL_MACHINE\SOFTWARE\Windhawk\Engine\Mods. Anche in questa fase è possibile spuntare soltanto gli elementi desiderati.

La selezione controlla la copia dei sorgenti locali e delle librerie compilate: per ogni mod scelta, lo strumento recupera il nome della DLL dal file di registro esportato, cerca il binario corrispondente nell’archivio e lo ricolloca nella stessa struttura relativa sotto %programdata%\Windhawk\Engine\Mods.

Va detto però che la versione iniziale presenta una differenza rilevante tra ciò che suggerisce l’interfaccia e ciò che fa il codice. Prima di copiare i file selezionati, lo script esegue un comando reg import sull’intero windhawk_reg.reg: non filtra il file in base alle caselle attive.

Se un archivio ospitasse la configurazione completa di un altro PC, l’importazione può quindi ripristinare anche chiavi relative a mod non selezionate o sovrascrivere valori già presenti. Non significa necessariamente che il ripristino fallirà: tuttavia, parlare di recupero completamente granulare appare, allo stato attuale, prematuro.

Una soluzione tecnicamente più rigorosa richiederebbe la generazione di un file REG temporaneo contenente solo le sottochiavi delle mod scelte, insieme agli eventuali valori globali indispensabili. In alternativa, il programma potrebbe applicare i valori uno per uno tramite le API del Registro, validandoli prima della scrittura. È probabilmente il miglioramento più importante da apportare alle prossime versioni dello script.

Ripristino mod Windhawk

Un’utilità promettente, che deve ancora maturare

Windhawk Backup Manager affronta uno dei punti deboli più evidenti di Windhawk: chi usa poche mod può reinstallarle manualmente; chi ha costruito una configurazione articolata, magari replicata su più macchine, ha invece bisogno di uno strumento capace di inventariare file, impostazioni e sorgenti senza affidarsi alla memoria.

La prima versione mostra buone idee tecniche: associa i binari attraverso LibraryFileName, distingue le mod locali da quelle pubbliche, arresta il servizio durante le operazioni e produce un archivio ZIP ispezionabile.

Restano margini di miglioramento non secondari. Il ripristino del Registro dovrebbe rispettare davvero la selezione dell’utente; sarebbe utile aggiungere un file manifest con versione di Windhawk, build di Windows, hash dei file e data di creazione. Mancano inoltre controlli espliciti sull’integrità dell’archivio, una firma digitale facilmente verificabile e una modalità di simulazione che mostri tutte le modifiche prima di applicarle.

Il progetto Windhawk Backup Manager è già interessante per utenti esperti che conoscono la struttura di Windhawk e sanno controllare il contenuto del backup. Per un impiego generalizzato, soprattutto su computer di produzione, serve ancora prudenza.

Ti consigliamo anche

Link copiato negli appunti