Spiegazione della cartella WinSxS in Windows 10

Molti di voi avranno notato la cartella WinSxS in Windows 10/8/7 e saranno rimasti sorpresi dalle sue dimensioni. Per coloro che non l'hanno fatto, la cartella si trova in C: \ Windows \ Winsxs e ha una dimensione enorme! Il mio è quasi 5 GB e ha circa 6000 cartelle e 25000 file e occupa quasi il 40% della cartella di Windows! Mentre la dimensione di questa cartella Winsxs, in XP, è di circa 25-50 MB; le sue grandi dimensioni in Windows 10, Windows 8, Windows 7 e Windows Vista, sono intriganti per molti! Controlla l'immagine qui sotto.

cartella-windows-winsxs

Allora qual è il mistero di questa cartella Winsxs in Windows 10, Windows 8.1, Windows8, Windows 7 e Windows Vista? Cerchiamo di scoprirlo, in questo post.

La cartella WinSxS, memorizza più copie di dll, exe e altri file di sistema per consentire l'esecuzione di più applicazioni in Windows senza alcun problema di compatibilità. Se navighi all'interno, vedrai quelli che sembrano molti file duplicati, ognuno con lo stesso nome. Si tratta in realtà di versioni diverse degli stessi file che vengono archiviati; poiché programmi diversi possono richiedere versioni diverse.

Cos'è la cartella WinSxS di Windows 10

In breve, Winsxs, che sta per "Windows Side By Side" , è la cache di assemblaggio nativa di Windows. Le biblioteche che vengono da più applicazioni sono archiviate lì. Questa funzionalità è stata introdotta per la prima volta in Windows ME ed è stata considerata come la soluzione di Microsoft ai cosiddetti problemi di "dll hell" che affliggevano Windows 9x.

In Winsxs, la cartella "backup" è la più grande, come si può notare nell'immagine sottostante.

Sottocartelle di WinSxS

Ancora una volta, come si può vedere nell'immagine qui sotto, nella cartella Winsxs, i tipi di file "Altro" occupano la maggior parte dello spazio. Questi sono costituiti principalmente da .imd, .ngr, .csd, .dll, .dll.mui, .exe e altri tipi di file.

Tipi di file in WinSxS

In Windows 7 e versioni successive, non esiste una cartella "dllcache" e non è possibile trovare la cartella "i386", dove il sistema memorizza nella cache (come in XP) tutti i suoi moduli sorgente. È questa cartella WinSxS che memorizza i componenti condivisi delle applicazioni side-by-side. Questi file possono essere più versioni dello stesso assembly o applicazione. Ogni assemblaggio side-by-side ha un'identità unica. Uno degli attributi dell'identità dell'assembly è la sua versione.

“Gli assembly side-by-side vengono utilizzati dal sistema operativo come unità fondamentali di denominazione, associazione, controllo delle versioni, distribuzione e configurazione. La cartella Winsxs include tutti i manifest, componenti opzionali e file Win32 di terze parti ", afferma Microsoft.

Ma perché così tante sottocartelle e perché mantenere così tante versioni diverse della stessa dll, exe o altri file?

Come accennato, Windows memorizza le vecchie dll e componenti della libreria nella cartella WinSxS. Ora, se una versione più recente di questo file fa parte del sistema operativo, ma una particolare applicazione richiede una particolare versione precedente per l'esecuzione, verrà utilizzata la versione precedente dalla cartella W inSxS, lasciando la versione più recente al suo posto attuale, per altre applicazioni che potrebbero richiederlo.

Quindi, ovviamente, non puoi eliminare questa directory o spostarla altrove. Né è consigliabile eliminare nulla qui, poiché un tale passaggio potrebbe probabilmente rendere le tue applicazioni non funzionanti o addirittura danneggiare il tuo sistema! Se hai molte applicazioni installate, puoi aspettarti di avere una cartella W inSxS di dimensioni jumbo. Questa cartella WinSxs non può risiedere su un volume diverso dal volume di sistema. Ciò è dovuto agli hard link NTFS. Se si tenta di spostare la cartella, è possibile che gli aggiornamenti di Windows, i service pack, le funzionalità e così via non vengano installati correttamente.

Se elimini componenti dalla cartella WinSxS come i manifesti o gli assembly, ecc., Potresti essere nei guai. Ogni sistema reagirebbe in modo diverso. Ciò che può funzionare per uno potrebbe spezzarne un altro! Ad esempio, se installi un programma che richiede quel particolare assembly, che potresti aver eliminato, allora quel programma non verrà eseguito! Anche la compressione della cartella è un no-no, in quanto potrebbe causare problemi durante WindowsUpdates o durante l'installazione di un hotfix.

Il modo più sicuro per pulirlo è semplicemente disinstallare le applicazioni che non ti servono. Tuttavia, anche questo non è infallibile, poiché molte applicazioni lasciano ancora i loro file qui, poiché potrebbero essere condivisi tra altre applicazioni. Quindi la probabilità che i dll inutilizzati vengano lasciati indietro è piuttosto alta.

Non consigliamo l'uso di strumenti di pulizia WinSxS come WinsxsLite in quanto potresti finire per rompere il tuo Windows.

E se stai provando un nuovo software o installando e disinstallando frequentemente, potresti notare che le dimensioni del tuo Winsxs sono davvero grandi, poiché Windows memorizzerà più copie di questi file dll, al fine di consentire più applicazioni senza problemi di compatibilità.

Pulizia cartella WinSxs

Windows 8.1 ha introdotto una nuova opzione della riga di comando per DISM.exe, / AnalyseComponentStore. L'esecuzione di questo comando analizzerà la cartella WinSxS e ti dirà se è consigliabile o meno una pulizia dell'archivio componenti. È presente anche in Windows 10 .

In Windows 8 / 8.1 / 10 , apri lo strumento di pulizia del disco e utilizza l'opzione di pulizia di Windows Update per pulire WinSxS.

Microsoft ha rilasciato un aggiornamento che ha aggiunto l'opzione di pulizia di Windows Update allo strumento di pulizia del disco in Windows 7 .

Ora puoi anche pulire WinSxS in Windows Server 2008 R2 con il nuovo nuovo aggiornamento.

Ecco alcune altre opzioni che potresti prendere in considerazione per liberare spazio su disco, alcune di routine e alcune estreme:

  1. Esegui lo strumento Pulizia disco
  2. Disinstalla le applicazioni inutilizzate
  3. Sposta il file di pagina su un'altra unità
  4. Disabilita l'ibernazione
  5. Utilizzare l'opzione del file di dump dedicato per acquisire i file di dump della memoria su un altro volume del sistema.
  6. Disabilita i punti di ripristino del sistema
  7. Scaricare il profilo utente e le directory dei file di programma su un altro volume del sistema.

Aggiornamento 1 dai blog TechNet: una delle più grandi modifiche tra le versioni precedenti di Windows è stata il passaggio da un sistema operativo descritto in INF alla componentizzazione. Tutti i componenti del sistema operativo si trovano nella cartella WinSxS, infatti chiamiamo questa posizione l'archivio dei componenti. Ogni componente ha un nome univoco che include la versione, la lingua e l'architettura del processore per cui è stato creato. La cartella WinSxS è l'unica posizione in cui si trova il componente sul sistema, tutte le altre istanze dei file che vedete sul sistema sono "proiettate" tramite collegamento fisso dall'archivio componenti.

Ora che sai perché il negozio può diventare così grande, la tua prossima domanda è probabilmente perché non rimuoviamo le versioni precedenti dei componenti. La risposta breve è l'affidabilità. L'archivio componenti, insieme ad altre informazioni sul sistema, ci consente di determinare in qualsiasi momento qual è la versione migliore di un componente per il progetto. Ciò significa che se disinstalli un aggiornamento di sicurezza, possiamo installare la successiva versione più elevata sul sistema: non abbiamo più un problema di "disinstallazione fuori servizio". Significa anche che se decidi di installare una funzionalità opzionale, non scegliamo solo la versione RTM del componente, ma cercheremo di vedere qual è la versione più alta disponibile sul sistema.

L'unico modo per ridurre in modo sicuro la dimensione della cartella WinSxS è ridurre l'insieme di possibili azioni che il sistema può intraprendere: il modo più semplice per farlo è rimuovere i pacchetti che hanno installato i componenti in primo luogo. Questo può essere fatto disinstallando le versioni sostituite dei pacchetti presenti sul sistema. Il Service Pack 1 contiene un file binario chiamato VSP1CLN.EXE , uno strumento che renderà il pacchetto del Service Pack permanente (non rimovibile) sul sistema e rimuoverà le versioni RTM di tutti i componenti sostituiti. Ciò è possibile solo perché rendendo permanente il Service Pack; possiamo garantire che non avremo mai bisogno delle versioni RTM.

Aggiornamento 2 dai blog E7: "Modularizzare" il sistema operativo era un obiettivo tecnico in Windows Vista. Questo per risolvere una serie di problemi nelle versioni precedenti di Windows relativi all'installazione, alla manutenzione e all'affidabilità. La directory Windows SxS rappresenta lo "stato di installazione e manutenzione" di tutti i componenti del sistema. Ma in realtà, in realtà non consuma tanto spazio su disco come appare quando si utilizzano gli strumenti integrati (DIR ed Explorer) per misurare lo spazio su disco utilizzato. Il fatto che rendiamo difficile per te sapere quanto spazio viene consumato in una directory è un punto giusto! La directory WinSxS consente inoltre la manutenzione offline e rende Windows Vista e versioni successive "sicure per l'imaging".

Ci sono stati diversi blog e anche alcuni strumenti "sotterranei" che ti dicono che è ok per eliminare la directory WinSxS, ed è certamente vero che dopo l'installazione, puoi rimuoverla dal sistema, e sembrerà che il sistema si avvii e funzioni bene . Ma come descritto sopra, questa è una pessima pratica, poiché stai rimuovendo la possibilità di eseguire un servizio affidabile, tutti i componenti del sistema operativo e la possibilità di aggiornare o configurare componenti opzionali sul tuo sistema. Windows supporta solo la directory WinSxS sull'unità fisica nella posizione originariamente installata.

Conclusione

Lascia che la cartella WinSxS sia così com'è!

Scopri la cartella Sysnative e le cartelle Catroot e Catroot2 qui.

Letture aggiuntive:

  1. Analizza Windows Component Store o WinSxS in Windows
  2. Pulizia della cartella WinSxS in Windows
  3. Aggiungi l'opzione di pulizia di Windows Update allo strumento di pulizia del disco in Windows
  4. Pulisci la directory WinSxS su Windows Server.
cartella-windows-winsxs