Si può pulire la cartella C:\Windows\Installer?
C:\Windows\Installer è la cache di Windows Installer. Contiene una copia di ogni pacchetto MSI e di ogni patch MSP che ha installato software tramite Windows Installer, e Windows usa quelle copie quando in seguito aggiorni, ripari o disinstalli quel software. La guida di Microsoft è breve: non va eliminata. Il danno non si vede subito, solo la volta successiva in cui un’app prova ad aggiornarsi o a disinstallarsi, e Microsoft non offre uno strumento supportato che la svuoti. Lo spazio torna in modo sicuro disinstallando il software che non usi e con altre pulizie, non da questa cartella.
Cosa contiene la cartella
L’articolo di supporto di Microsoft sulla cache del programma di installazione spiega perché ci sono: quando un prodotto viene installato con Windows Installer, la cache conserva i file necessari per disinstallarlo e aggiornarlo. Un post del 2008 di Heath Stewart sul blog del team di setup di Microsoft aggiunge il dettaglio: la copia in cache è un .msi con i cabinet incorporati rimossi, oppure un’intera patch .msp, e resta lì per tutta la manutenzione successiva, inclusa la disinstallazione del prodotto. Le patch vengono tenute intere perché contengono i file aggiornati.
Per questo la cartella cresce con i prodotti MSI aggiornati da patch: ogni patch aggiunge un .msp in cache, e la cartella diventa il registro di tutto ciò di cui quei prodotti potrebbero aver bisogno di nuovo. L’articolo di Microsoft indica in particolare SQL Server e Office, fonti comuni sui PC di lavoro.
Perché eliminare i file rompe le cose più tardi
L’articolo di Microsoft è esplicito: i problemi possono non comparire finché non disinstalli, ripari o aggiorni un prodotto. Rimuovere un file in cache sembra innocuo il giorno in cui lo fai; mesi dopo un aggiornamento di Office o una disinstallazione fallisce. Lo stesso articolo elenca errori che i file di cache mancanti possono produrre nei log di setup:
| Codice | Messaggio in breve |
|---|---|
| 1612 | L’origine di installazione di questo prodotto non è disponibile |
| 1620 | Non è stato possibile aprire questo pacchetto di installazione |
| 1635 | Non è stato possibile aprire questo pacchetto di aggiornamento |
| 1636 | Impossibile installare il file MSP di Windows Installer |
| 1642 | L’aggiornamento non può essere installato; il programma da aggiornare potrebbe mancare |
Anche questi codici hanno altre cause, quindi vederne uno non dimostra che la cache sia stata danneggiata. Ciò che rende costosa l’eliminazione è il recupero: Microsoft dice che i file mancanti non si possono copiare da un altro computer perché sono unici, il supporto Windows non può recuperarli e non è possibile ripristinare dal backup solo i file mancanti. Le opzioni che elenca sono i passaggi di riparazione del produttore dell’applicazione, un punto di ripristino, un ripristino completo dello stato del sistema, oppure reinstallare Windows e le applicazioni.
La cartella nascosta $PatchCache$
Dentro la cartella c’è $PatchCache$, la cache di base. Quando una patch aggiorna un prodotto, Windows Installer può salvare le versioni precedenti dei file che sostituisce, così una patch successiva o la rimozione di una patch non deve chiedere il supporto di installazione originale. Il riferimento MaxPatchCacheSize di Microsoft descrive il limite: per impostazione predefinita la cache può usare fino al 10% del disco, un valore di criterio 0 impedisce di salvare nuovi file e cambiare il criterio non tocca i file già salvati.
Il post del 2008 sul blog di setup dice che questi file di base si possono eliminare, con un costo: rimuovere una patch o ripristinare file mancanti può poi chiedere il supporto di installazione originale, che molte persone non hanno più per software scaricato anni fa. Lo stesso post tratta la disattivazione della cache come uno scambio con un costo, non come una vittoria di pulizia. Misurala prima con i comandi sotto; se è piccola, lo scambio non vale.
Misura prima di decidere qualsiasi cosa
Questi comandi in sola lettura mostrano quanto sono grandi la cartella e la sua cache di base. Esegui PowerShell come amministratore; leggono solo le dimensioni.
(Get-ChildItem C:\Windows\Installer -Force -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1GB
(Get-ChildItem 'C:\Windows\Installer\$PatchCache$' -Force -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1GB
Confronta il risultato con l’intera unità. Qualche gigabyte su un’unità da 500 GB fa parte dell’avere software aggiornato da patch. Se il numero è molto grande e il PC ha Office o SQL Server, quei prodotti sono la fonte abituale, e gli strumenti giusti sono i loro.
Pacchetti orfani: solo vie ufficiali
Le patch lasciate dopo la rimozione di un prodotto, spesso chiamate pacchetti orfani, sono il motivo per cui si cercano strumenti di pulizia. L’articolo di Microsoft lo affronta in modo diretto: alcuni terzi sostengono di ricostruire o riparare la cache del programma di installazione, Microsoft non può consigliare o avallare nessuno di loro, e li usi a tuo rischio. Non esiste uno strumento generale di Microsoft che decida quali file in cache sono inutilizzati e li elimini.
Ciò che esiste è specifico del prodotto. Per SQL Server, lo stesso articolo collega la procedura di Microsoft per ripristinare i file di cache mancanti durante un aggiornamento di SQL Server. Per Office, rimanda a Robust Office Inventory Scan e a un’utilità di manutenzione delle patch. Se l’aggiornamento di un prodotto specifico fallisce con uno degli errori sopra, parti dalle istruzioni di riparazione o disinstallazione di quel produttore, non dalla cartella.
Modi più sicuri per recuperare lo spazio
- Disinstalla il software che non usi da Impostazioni, App, App installate, seguendo i passaggi di disinstallazione di Microsoft. Rimuovere il software tramite il suo programma di disinstallazione è la via attorno a cui è costruito Windows Installer, invece di toglierne i file alle spalle.
- Esegui le categorie di file di sistema di Pulizia disco. Pulizia di Windows Update e File di Ottimizzazione recapito sono trattati in Pulizia disco e Sensore memoria, e l’archivio componenti in Pulizia di WinSxS.
- Controlla i file grandi alla radice.
hiberfil.sysepagefile.systengono spesso diversi gigabyte; Hiberfil e pagefile su C: spiega gli scambi. - Trova ciò che riempie davvero l’unità. Giochi, video, dischi virtuali e dati Docker sono colpevoli più comuni; parti da trovare i file grandi.
C:\ProgramData\Package Cache merita la stessa cura. La documentazione di Dev Drive di Microsoft descrive una cache dei pacchetti come il luogo in cui le applicazioni tengono i file sorgente necessari per aggiornare, disinstallare o riparare il software installato, e indica Visual Studio come app che vi conserva gran parte dei suoi dati.
Cosa non fare
Non prendere la proprietà di C:\Windows\Installer per eliminarla, non svuotarla per far sembrare migliore un totale di pulizia e non copiare file di cache da un altro PC per sostituire quelli mancanti. Non eseguire uno script che rimuove file .msp «orfani» a meno che non lo fornisca il produttore del prodotto interessato.
Mole per Windows lascia in pace entrambe le cartelle. Pulizia non ha una regola per C:\Windows\Installer o Package Cache e, quando App cerca i residui dopo una disinstallazione, tratta le cartelle chiamate Installer o Package Cache come condivise da Windows e da ogni app, mai come appartenenti a quella che stai rimuovendo.
Quando lo spazio viene davvero dai file di aggiornamento e non dalla cache del programma di installazione, eliminare i file di Windows Update spiega quanto costa ogni rimozione; prima di cambiare qualcosa, parti da Punti di ripristino e backup dei file in Windows.
Domande frequenti
Posso eliminare la cartella Windows Installer?
No. Microsoft dice che la cache di Windows Installer non va eliminata. Le app installate con MSI ne hanno bisogno per aggiornarsi, ripararsi e disinstallarsi, e i fallimenti compaiono dopo.
Perché C:\Windows\Installer è così grande?
Conserva una copia di ogni pacchetto MSI e di ogni patch MSP applicata al software installato, quindi i prodotti che ricevono molte patch, come Office o SQL Server, la fanno crescere.
È sicuro eliminare $PatchCache$?
Il team di setup di Microsoft ha detto che i file della cache di base si possono eliminare, ma rimuovere una patch o riparare file può poi chiedere il supporto di installazione originale. Misurane la dimensione prima di decidere.
Esiste uno strumento Microsoft per pulire la cartella Windows Installer?
Non uno generale. Microsoft non avalla i pulitori di cache di terze parti e offre passaggi specifici per SQL Server e Office. Disinstalla il software inutilizzato dalle Impostazioni invece di modificare la cartella.