In questo articolo Indice dei contenuti 2 sezioni
Disinstallare un programma da Windows 11 non vuol dire ripulire davvero il sistema, e i dati residui dopo la disinstallazione restano lì, sparsi tra cartelle nascoste, chiavi di Registro e servizi mai rimossi. L’uninstaller fa il suo mestiere: cancella l’eseguibile, toglie il software dall’elenco delle app installate e chiude la partita. Poi però sull’unità rimangono configurazioni, cache, database locali, attività pianificate, cartelle del profilo utente e voci di sistema che nessuno ha istruito a sparire.
In parte è una scelta consapevole. Molti sviluppatori conservano preferenze, profili, account già configurati e file di lavoro proprio per permettere una reinstallazione indolore, senza ricominciare da zero. In altri casi la spiegazione è meno nobile: l’installer non tiene traccia di tutto ciò che l’applicazione genera dopo il primo avvio, quindi quei file diventano orfani. Un programma può essere installato in una sottocartella di Program Files e, nel corso di mesi di utilizzo, seminare roba in %appdata%, in %programdata% o in qualunque altra directory decida di usare.
AppData, ProgramData e Program Files: dove si nascondono i file dimenticati
La prima tappa è AppData, la cartella che raccoglie i dati legati al singolo profilo Windows e che si articola in tre directory: Local, LocalLow e Roaming. Microsoft le considera parte delle Known Folders, cioè cartelle standard che le applicazioni individuano tramite API invece di scrivere percorsi fissi nel codice.
Digitando %localappdata% nella finestra aperta con Windows+R si arriva di solito in C:UsersNOMEAppDataLocal. Qui finiscono cache, miniature, log, database SQLite, file temporanei, configurazioni specifiche di quel PC e componenti installati per il solo utente. È il posto dove una disinstallazione incompleta lascia le cartelle più pesanti, tipicamente quelle di browser, client di messaggistica, ambienti di sviluppo o applicazioni basate su Chromium ed Electron, che abbandonano cache grafiche, database e profili anche dopo la rimozione dell’eseguibile. La variabile %appdata% punta invece a C:UsersNOMEAppDataRoaming, area pensata per i dati che seguono il profilo negli ambienti aziendali con roaming attivo. Nella pratica ci finiscono preferenze, configurazioni, profili, estensioni, template e piccoli database. Sono proprio queste informazioni a far ritrovare un programma già configurato dopo una reinstallazione, ma per chi vuole cancellare ogni traccia diventano la voce da controllare per prima.
Poi c’è ProgramData, raggiungibile anche con %ProgramData%, dedicata a dati non legati a un singolo account: configurazioni globali, database comuni, log, cache, file di aggiornamento, informazioni usate dai servizi Windows. Cartella nascosta per impostazione predefinita, quindi facilissima da ignorare. E naturalmente vale la pena passare da C:Program Files e, sui sistemi a 64 bit, da C:Program Files (x86), dove possono restare sottocartelle intestate al produttore o al nome del programma.
Registro di sistema, servizi e attività pianificate
Il Registro di sistema è l’altro grande archivio di rimasugli. Le applicazioni desktop tradizionali si registrano in HKEYCURRENTUSERSOFTWARE per le impostazioni del singolo account e in HKEYLOCALMACHINESOFTWARE per quelle valide su tutta la macchina, mentre i software a 32 bit usano la vista dedicata in HKEYLOCALMACHINESOFTWAREWOW6432Node. Le applicazioni MSI, poi, vengono censite sotto la chiave Uninstall di HKEYLOCALMACHINE, di norma con un identificatore GUID. Dopo una rimozione possono sopravvivere chiavi orfane, anche fuori dalle posizioni canoniche. Attenzione però: il Registro va toccato con cautela e non trattato come una cartella da svuotare ogni tanto. PowerShell permette ricerche mirate per nome del programma senza aprire regedit, ma prima di eliminare qualsiasi cosa conviene aprire la chiave e verificare a chi appartiene davvero.
Capitolo servizi Windows: VPN, software di backup, database, programmi di sicurezza, strumenti hardware e routine di aggiornamento ne installano spesso uno. Può succedere che l’eseguibile venga cancellato mentre la registrazione del servizio resta attiva, ed è una situazione documentata da Microsoft, che indica sc.exe delete come strumento per rimuovere la voce. Per l’inventario bastano sc query oppure i comandi PowerShell dedicati ai servizi.
Ultimo fronte, le attività pianificate: updater, telemetria, sincronizzazioni e manutenzione periodica passano quasi sempre dall’Utilità di pianificazione. Con schtasks /query, o con schtasks /query /fo LIST /v per il dettaglio completo, emergono le voci ancora presenti. Se un’attività punta a un file che non esiste più, il risultato sono errori ciclici nel Visualizzatore degli eventi e processi che Windows prova ad avviare a vuoto. Discorso analogo per l’esecuzione automatica, dove Autoruns aiuta a scovare le voci rimaste appese, mentre Process Monitor consente di registrare file, cartelle e chiavi realmente toccate da un’applicazione durante l’esecuzione, filtrando gli eventi in base al PID della singola istanza.









