thanks

CFee

-----Original Message-----
From: Ben Scott [mailto:mailvor...@gmail.com] 
Sent: Thursday, July 01, 2010 12:57 PM
To: NT System Admin Issues
Subject: WinSXS and CBS (was: Where's my disk space)

On Thu, Jul 1, 2010 at 11:03 AM, Carol Fee <c...@massbar.org> wrote:
> Wow - what the heck is all that ?

  Short version: A complete copy of every version of every Windows component.

  Longer version:

  The WinSxS folder  (%SystemRoot%\WinSxS) was originally for
"side-by-side installation" of DLLs.  Historically, when two different
programs tried to install two different, incompatible versions of a
DLL with the same name, you were just screwed.  This was colloquially
termed "DLL hell".  SxS helped multiple incompatible DLLs to co-exist
on the same system.

  In Vista, WinSxS was re-purposed/extended to support what Microsoft
calls "Component Based Servicing", or "CBS".  Windows was divided up
into components.  Each component exists as an assembly, stored in
WinSxS.  During base OS install, each and every possible assembly is
copied in full to WinSxS.  This includes components you de-selected
from install in the GUI, and also components for other Editions of
Windows.  On top of that, when an update is released, every possible
version of the updated assemblies (GDR and LDR, for each Service Pack)
get stored in WinSxS, along with all the old assemblies.  So over
time, you're likely to accumulate several copies of most of Windows in
there.

  When a Windows component is actually "installed", the target
location is just a link to the component in  WinSxS.  In theory, this
makes servicing easier, because the process is to first copy in the
new version of the assembly, then change the links.  To "uninstall",
you just change the links back.

  The one ray of sunshine in this is that the links themselves hardly
use any space, so the space apparently used by, say,
"%SystemRoot%\system32" is actually much less, since it's mostly links
to WinSxS.  But WinSxS is still typically bigger than any previous
entire install of Windows, so it's still a net loss.

  The Microsoft party line is that WinSxS cannot be moved.  It cannot
even be usefully managed, except for a very few, select scenarios,
such as removing assemblies for a previous Service Pack, or removing
incompatible components from Server Core.  One should be prepared for
WinSxS to consume at least 40 GB of disk space.

  If you think this is a crazy design, you're not alone, but Microsoft
Has Spoken, so get used to it.

  More information:

http://blogs.technet.com/b/askcore/archive/2008/09/17/what-is-the-winsxs-directory-in-windows-2008-and-windows-vista-and-why-is-it-so-large.aspx

http://blogs.technet.com/b/joscon/archive/2010/06/12/general-guidance-on-disk-provisioning-for-winsxs-growth.aspx

http://blogs.msdn.com/b/ntdebugging/archive/2008/10/21/windows-hotfixes-and-updates-how-do-they-work.aspx

http://blogs.msdn.com/b/jonwis/archive/2005/12/28/507863.aspx

http://blogs.msdn.com/b/jonwis/archive/2007/01/02/deleting-from-the-winsxs-directory.aspx

http://blogs.msdn.com/b/e7/archive/2008/11/19/disk-space.aspx

-- Ben

~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

Reply via email to