So, I’ve been using Vista quite happily for a fair while now. All the doomsayers complaining about how it would use so much more resources were wrong – provided your turn off the transparent borders on windows it still runs just the same (it seems to me) as XP. I guess I’ve always said to friends that it’s alright – I wouldn’t pay to upgrade to it (it doesn’t seem to offer much), but if I was buying a new PC, I’d be okay with it. The only problem I had doing just that was with blackhole detection in the new TCP/IP stack, and that was… exotic.
However, I think I’ve just found my first big gripe. Performing standard system maintenance on my desktop, which is used pretty much exclusively as a VM host, I noticed that my primary drive was using 40Gb. That seemed rather high for Vista, Office ’07, SharePoint Designer and Adobe Reader. Naturally, I broke out Treesize:
So, 28% of my drive is being taken up by the winsxs folder. What the hell is that? Well, I Googled – and Vista Club has a good description …
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.
Okay, but why so big? Well, it carries on…
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.
Compressing the folder is also a no-no, as it could cause problems during WindowsUpdates or while installing a Hotfix.
Holy crap! It’s a 13Gb directory that I can’t tidy up, delete, move or compress! Who designed that, and were their brains on holiday? I get why they did it – to maintain backward compatibility – but sometimes, maybe it’s just best not to. I mean, VB.NET isn’t backwardly compatible with VB6. Office 2003 and 2007 files are only somewhat compatible. Win 95 wasn’t backwardly compatible with 3.1. The .NET framework 2 wasn’t backwardly compatible with 1.1. And in all those cases, it’s worked out for the better. Please Microsoft, break with backwardly compatibility and get rid of this folder.