Le dossier WinSxS : Magasin des composants Windows

Dans cette partie vous trouverez des papiers, articles sur l'informatique/sécurité.
Malekal_morte
Messages : 107770
Inscription : 10 sept. 2005 13:57

Le dossier WinSxS : Magasin des composants Windows

par Malekal_morte »

Cette page explique la présence du dossier WinSxS (c:\Windows\WinSxS) apparu depuis Windows XP, il a été considérablement amélioré depuis Windows Vista. Ce dossier contient le "Magasin des composants", un ensemble de librairies fournit sous forme de "Package" ( en français "Paquet" ) utilisable par les applications et par Windows lui même.

Ce dossier WinSxS est particulièrement important.
Si des Packages ou fichiers sont endommagés, :
  • Windows peut devenir instable avec des plantages / freezes d'applications
  • Windows peut avoir des difficultés à effectuer les mises à jour (Erreurs Windows Update, etc)
WinSxS en détails

Il s'agit du "Magasin des composants" qui prend en charge les fonctions nécessaires à la Personnalisation et aux "Mises à jour" Windows, comme :
  • Utilisation de Windows Update pour installer de nouvelles versions de composants. Cela permet de garantir la mise à jour et la sécurité des systèmes.
  • Activation ou désactivation de fonctionnalités Windows.
  • Ajout de rôles ou de fonctionnalités à l’aide du Gestionnaire de serveur.
  • Déplacement de systèmes entre différentes éditions de Windows.
  • Récupération système suite à une défaillance ou à un échec du démarrage
  • Désinstallation de mises à jour problématiques
  • Exécution de programmes à l’aide d’assemblys côte à côte (C:\Windows\assembly)
Les librairies et autres composants sont regroupés sous forme de Packages qui peuvent être manipulés ( mis à jour, supprimé, etc) C'est ce qui se passe par exemple lorsque vous désinstallez une mise à jour Windows.

Le dossier WinSxS est relativement volumineux, des utilisateurs peuvent être tentés de supprimer des fichiers ou dossiers, ce qui est bien sûr une très mauvaise idée. Le dossier contenant de multitudes de fichiers et sous-dossiers, on a parfois l'impression que des fichiers sont en doubles alors qu'il s'agit seulement de liens symboliques. WinSxS effectue aussi beaucoup de sauvegardes pour revenir en arrière en cas de conflits ou fichiers corrompus. Par conséquent, éliminer ces sauvegardes est une mauvaise initiative.

La gestion des Packages se fait à l'aide de l'utilitaire DISM, en natif depuis Windows 8. Ce dernier est accessible depuis l'invite de commandes en Administrateur. Il permet d'installer, d'obtenir des infos ou supprimer des Packages. Les paquets sont au format Microsoft Cabinet (.CAB) ou au format Windows Update Stand-alone Installer (.MSU).

Image

La commande Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore va retourner des informations sur le "Magasin des composants", on constate notamment que la sauvegarde des paquets occupe un poids total d'environ 2Go.

Image

La MSDN de Microsoft explique les détails des notations.

La commande Dism.exe /Online /Get-Packages va lister les paquets installés.

Image

On les retrouve sous forme de dossiers dans WinSxS :
Image

La commande Dism.exe /Online /Get-PackageInfo /PackageName:Microsoft-Windows-Prerelease-Client-Package~31bf3856ad364e35~amd64~~10.0.10240.16384
Dism /Image:C:\test\offline /Get-PackageInfo /PackagePath:C:\packages\package.cab
Dism /Image:C:\test\offline /Get-PackageInfo /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
permet d'obtenir les informations sur un paquet en particulier.

Image

La commande Dism.exe /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0 /PackageName:Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~x86~~6.1.6801.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab
permet d'installer un paquet.

La commande Dism.exe /online /remove-package /packagename:Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14 permet de supprimer en indiquant le nom d'un paquet ( packagename )

La MSDN de Microsoft explique les détails des paramètres disponibles pour DISM


Nettoyer le dossier WinSxS

Tutoriel

Pour purger et nettoyer le dossier WinSxS afin de libérer de l'espace disque, suivez notre tutoriel complet : Nettoyer le dossier WinSxS sur Windows 7, 8.1 et 10

Cette vidéo récapitule aussi les procédures à suivre :



Explications sur le nettoyage du dossier WinSxS

Depuis Windows 8.1, des fonctionnalités de nettoyage ont été ajoutées sur DISM. Malheureusement, ces fonctionnalités ne sont pas disponibles sur Windows Vista et Windows Seven.

La fonctionnalité StartComponentCleanup permet à DISM de nettoyer WinSxS.

On notera qu'une tâche planifiée "\Microsoft\Windows\Servicing\StartComponentCleanup" a aussi été ajoutée. Elle a pour but de supprimer les composants qui n'ont pas été utilisés depuis 30 jours.

Ci-dessous, la tâche planifiée StartComponentCleanup
Image

Lorsque l'on exécute celle-ci, TiWorker.exe ( Windows Modules Installer Worker ) se lance.
Suivant les opérations, la tâche peut prendre plusieurs longues minutes...
Image

La commande Dism.exe /online /Cleanup-Image /StartComponentCleanup permet de lancer le nettoyage.

NOTE : Ne reprenez pas de mauvaises habitudes, ne lancez pas cette commande tous les jours car ça ne sert strictement à rien.

La commande: Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase contient le paramètre /ResetBase qui permet de supprimer les sauvegardes WinSxS. Je vous déconseille fortement de l'utiliser car si un fichier ou une mise à jour rencontre des problèmes, vous risquez de ne plus pouvoir revenir en arrière. Enfin, la commande Dism.exe /online /Cleanup-Image /SPSuperseded contient le paramètre /SPSuperseded qui permet de réduire la quantité d’espace disque utilisée par les mises à jour cumulatives (Service Pack)

L'utilitaire cleanmgr permet aussi de le faire, lire la page : Comment libérer de l’espace disque avec cleanmgr.

Image


WinSxS : Réparer les fichiers systèmes corrompus etc

Comme évoqué en introduction, si des fichiers systèmes / Packages sont corrompus, cela peut occasionner des problèmes de fonctionnement sur des applications et sur Windows. L'outil SFC permet d'effectuer une analyse des fichiers systèmes. Dans certains cas il pourra restaurer des fichiers systèmes du magasin des composants (WinSxS) mais en règle générale, il n'y parviendra pas. L'outil DISM permet aussi de corriger ce type d'incohérences sur le magasin des composants et de restaurer des fichiers systèmes.

La commande Dism.exe /Online /Cleanup-image /Restorehealth contient le paramètre /Restorehealth qui permet de réparer le magasin des composants. Pour rappel, ce paramètre n'est disponible qu'à partir de Windows 8 !

Les rapports se sont situés dans :
%SYSTEMROOT%\Logs\CBS\CheckSUR.log
%SYSTEMROOT%\Logs\CBS\CheckSUR.persist.log

La commande précédente va scanner les fichiers systèmes et restaurer à partir de fichiers en ligne. Une connexion à Internet doit donc être établie pour que ça fonctionne, notamment avec certains composants utilisés par Windows Update. Si ce n'est pas le cas, vous pouvez restaurer les Packages à partir du DVD de Windows en ajoutant le paramètre /Source. Exemple avec la commande Dism.exe /Online /Cleanup-Image /RestoreHealth /Source:H:\sources\sxs /LimitAccess où H:\sources pointe sur un dossier du DVD.

Lorsque DISM n'est pas capable de réparer des fichiers systèmes, utiliser le programme SFCFix. Sur le forum, nous avons eu un cas récemment avec une mise à jour de Windows qui a corrompu certains fichiers systèmes, ce qui occasionné d'importants ralentissements. Voir le sujet : KB3022345 : corruptions de fichiers systèmes


Conclusion

Le magasin des composants de Windows est donc un composant essentiel de Windows, qui lorsqu'il est endommagé, peut cause de grave dysfonctionnements. On regrettera que l'outil DISM ne soit pas pleinement fonctionnel pour les versions antérieures à Windows 8.

liens internes :
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas !
Comment protéger son PC des virus
Windows 11 : Compatibilité, Configuration minimale requise, télécharger ISO et installer Windows 11

Comment demander de l'aide sur le forum
Partagez malekal.com : n'hésitez pas à partager les articles qui vous plaisent sur la page Facebook du site.
Malekal_morte
Messages : 107770
Inscription : 10 sept. 2005 13:57

Re: Le dossier WinSxS : Magasin des composants Windows

par Malekal_morte »

Mise à jour du topic.
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas !
Comment protéger son PC des virus
Windows 11 : Compatibilité, Configuration minimale requise, télécharger ISO et installer Windows 11

Comment demander de l'aide sur le forum
Partagez malekal.com : n'hésitez pas à partager les articles qui vous plaisent sur la page Facebook du site.
Avatar de l’utilisateur
Parisien_entraide
Messages : 9073
Inscription : 02 juin 2012 20:48
Localisation : Je suis dans la matrice :-)

Re: Le dossier WinSxS : Magasin des composants Windows

par Parisien_entraide »

En complément

Dan le cadre d'un gain de place, d'un petit SSD, d'une machine encore sous Win7 (qui sert de tests) j'ai voulu noter l'efficacité de la solution Microsoft qui a actualisé sa page au 19/01/2021

https://docs.microsoft.com/fr-fr/troubl ... -by-winsxs

Cette autre page explique "Pourquoi" le dossier WinSXS grossit sous Win7, et la taille apparente du fait des liens symboliques
https://assiste.com/winsxs.html


Programmes utilisés :APRES un nettoyage CCleaner+Ccenhancer et Privazer (version donateur) en mettant toutes les options à fond,
Il est donc censé ne pas rester grand chose


Dans l'ordre d'utilisation :

1) CleanMGR
2) Wise Disk Cleaner
3) DISM ++


Pour rappel le nettoyage de certains dossiers sous Win7 sont pratiquement impossibles (WinSXS par ex) du moins manuellement


L'outil CleanMGR (on peut utiliser DISM /online /Cleanup-Image /SpSuperseded ou le "Disk Cleanup Wizard" aka CleanMGR

Pour cet outil, la mise à jour KB2852386 ajoute l'option Nettoyage de Windows Update à CleanMGR qui est censé faire un grand ménage dans le dossier WinSxS.
Le nettoyage s'occupe des copies des versions originales des fichiers systèmes après un "Windows Update" et copie des fichiers mis à jour
Au bout d'un certain temps cela fait quelques GO

Chez moi le ménage avait été effectué et il ne restait que :
CleanMGR.png


On passe ensuite, à l'outil Wise disk Cleaner

Après CleanMGR, On note un résidu après analyse
Il est donc procédé à un nettoyage simple et "'avancé" (33.55 Mo + 31.5 Mo) puis passage à l'onglet intéressant

Via l'onglet "Alléger le système" Wise Disk va effacer le "Cache Windows Installer" (sinon de base il fait aussi ce dont s'occuper CleanMGR)
Cette fonction n'existe pas chez les autres nettoyeurs et Wise disk le fait proprement en préservant les liens NTFS
WiseDiskCleeaner Apres CleanMGR.png

On continue le nettoyage avec l'outil le plus intéressant :


L'outil DISM ++

Voici ce que propose DISM++ sous Win7
Dismplus.jpg
A ce stade :

Le dossier "software Distribution" est vide, ainsi que "Backup" qui figure dans le dossier WinSXS


Initialement sur le SSD de test :

l'espace utilisé était de 416 Go et l espace libre : de 514 Go


Dism++ indique 7.67 Go remplacés pour le dossier WinSXS
"permet de nettoyer les composants remplacé et de réduire la taille du magasin de composants

Mais il va également faire un gros nettoyage du cache d'assemblage .NET de 1.9 Go en indiquant :
"Quant un programme .net s'exécute, il crée des fichiers cache en code machine Il est recommandé de les supprimer fréquemment"


Après utilisation de DISM++
Dismplus Nettoyage.jpg

l'espace utilisé est à présent de 407 Go et l espace libre de 523 Go

Gain : 8.86 Go


Au final, est ce que mon dossier WinSXS a diminué en taille ? Et bien NON Du moins en apparence (voir les détails du pourquoi du lien assiste.com un peu plus haut) Il a même grossi
(Norrmal et pour résumer : l’encombrement réel est la somme de la taille des sauvegardes et fonctionnalités même désactivées, de ce qui est partagé avec windows, la taille du cache et des données temporaires)
Sourrce : https://docs.microsoft.com/en-us/previo ... dfrom=MSDN

Initialement : 14.5 Go
Après nettoyage : 14.7 Go

Donc même si le lien parle de win8, en réel je suis peut être à 2 Go environ

Par contre le gain en place réelle lui est bien présent

_____________

AVERTISSEMENT :

- Ce nettoyage bourrin avec une multitude d'outils n'est pas conseillé (là c'est pour le test)
- Les nettoyeurs de fichiers tout comme les nettoyeurs de registre (déconseillés par Microsoft) peuvent être sources d'instabilités .. au mieux
- Test réalisé sous Win7 et non sous Win10 où WinSxS est réinitialisé automatiquement tous les 6 mois lors de l'installation d'une mise à jour majeure
- Tout s'est bien passé parce que la machine à la base est "'saine".
- En plus à l'issue il a été procédé au lancement de nombreuses applications et jeux pendant 15 jours pour noter la stabilité

Comble de l'horreur, il a été procédé également après l'usage de ces outils à un nettoyage agressif de la base de registre avec le programme Argente Registry Cleaner (le lien ci dessous n'est pas le même test mais décrit ce programme)
viewtopic.php?f=36&t=68149&p=506613#p506613


Celui ci va beaucoup plus loin qu'un Jv16 (Je ne parle pas de Ccleaner qui ne fait que le strict minimum et le sans danger)

https://www.malekal.com/les-meilleurs-l ... ry_Cleaner
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Only Amiga... was possible !
Un problème sans solution est un problème mal posé. » (Albert Einstein)
"Tous les patients mentent" Docteur House
  • Sujets similaires
    Réponses
    Vues
    Dernier message

Revenir à « Papiers / Articles »