think its worth me posting this for future users who wish to learn a little more about winsxs and how it works
The Secret Of Vista's Winsxs Folder.
Most of you may have noticed the WinSxS folder and been surprised at its size. For those who have not, the folder is situated at C:\Windows\Winsxs and has a whopping size ! Mine is almost 5 GB and has around 6000 folders & 25000 files and occupies almost 40% of the Windows folder ! While the size of this Winsxs folder, in XP is around 25-50 MB; its large size in Vista, is intriguing, to many ! Check the image below.
- So what is the mystery of this Winsxs folder in Vista?
- What's the purpose of so many folders & sub folders?
- What does it contain?
- Can you delete this directory?
- Can you atleast move it somewhere else?
- Or can its size be reduced to save disk-space?
The Winsxs folder, stores multiple copies of dll's in order to let multiple applications run in Windows without any compatibility problem. If you browse inside, you will see what look like a lot of duplicate dlls, each having the same name. These are actually, different versions of the same files which are being stored; as different programs may require different versions. In short, Winsxs, which stands for 'Windows Side By Side', is Vista's native assembly cache. Libraries which are being by multiple applications are stored there.
This feature was first introduced, in Windows ME and was considered as Microsoft's solution to the so-called 'dll hell' issues that plagued Windows 9x.
In Winsxs the 'backup' folder is the largest as can be noticed in the image below.
Again, as can be seen in the image below, in the Winsxs folder, the 'Other' File types takes the bulk of the space. These primarily consist of .imd, .ngr, .csd, .dll, .dll.mui, .exe and such other file types.
In Vista, there isn't a 'dllcache' folder and nor can you find the 'i386' folder, where the system caches (like in XP) all it's source modules. It is this WinSxS folder which stores the shared components of side-by-side applications. These files can be multiple versions of the same assembly or application. Every side-by-side assembly has a unique identity. One of the attributes of the assembly identity is its version. "
Side-by-side assemblies are used by the operating system as fundamental units of naming, binding, versioning, deployment, and configuration. The Winsxs folder includes all manifests, optional components and 3rd party Win32 files".
But, why so many subfolders, and why keep so many different versions of the same dll, exe or other files ?
As mentioned, Windows stores the old dll's and library components in the WinSxS folder. Now if a newer version of this file is a part of the OS, but a particular application requires a particular older version for running, then the older version from the winsxs folder will be used, leaving the newer version in its present place, for other applications which may require it.
So obviously you cannot delete this directory or move it elsewhere. Nor is it advisable to delete anything here, as such a step could probably make your applications un-workable or even break your system! If you have many applications installed, you can expect to have a jumbo sized winsxs folder.
If you delete components from the WinSxS folder like the manifets or the assemblies, etc, you could be in trouble.
Each system would react differently. What may work for one could break another! For instance, if you install a program that requires that particular assembly, which you may have deleted, then that program will just not run!
Compressing the folder is also a no-no, as it could cause problems during WindowsUpdates or while installing a Hotfix. The safest way to clean it, is by simply uninstalling applications which you don't require. However, this too is not fool proof, as many applications still leave behind their files here, since they may be shared between other applications. So the probability of dud unused dll's being left behind is quite high.
And if you are into trying out new software or installing and uninstalling frequently, you may notice that your winsxs size is indeed large, as Vista will store multiple copies of these dll files, in order to let multiple applications without compatibility problem.