Cómo liberar espacio en la carpeta WinSxS de Windows. También explicamos para qué sirve la carpeta WinSxS.

Para qué sirve la carpeta WinSxS de Windows

WinSxS (Side-by-side) es una tecnología desarrollada por Microsoft como un estándar para archivos ejecutables en Windows que intenta reducir los problemas con las DLL (Dynamic Link Library). La tecnología Side-by-side es también conocida como WinSxS o SxS, que es conceptualmente equivalente a la caché de ensamblados de .NET. Los ejecutables que incluyen un manifiesto SxS son designados «ensamblados SxS».

El «Infierno de las DLL» (DLL Hell) que es como se denomina a los problemas típicos de cuelgues y pantallazos azules provocados por una «mala» gestión de las DLL del sistema suele deberse a conflictos de versiones, archivos DLL inexistentes, DLL duplicadas y registro incorrecto o inexistente. En SxS, Windows almacena varias versiones de un archivo DLL en la carpeta WinSxS del sistema y las carga cuando son requeridas por alguna aplicación o servicio. Esto reduce los problemas de dependencias para las aplicaciones que incluyen un manifiesto SxS.

Por lo tanto, esta carpeta es necesaria para el correcto funcionamiento de Windows y del sistema en general, pues habrá aplicaciones que necesiten determinada versión de una DLL y otras que necesiten otra versión de la misma DLL, según Microsoft, SxS mejora y asegura el uso de estas DLL por las aplicaciones.

Aunque al ver las propiedades de la carpeta winsxs indique que ocupa un cierto espacio, normalmente, el espacio real suele ser bastante inferior, ya que ahí se almacenan ficheros físicos «reales» y enlaces duros a otros ficheros ubicados en otras carpetas, al ser enlaces duros de cara a las propiedades los contará como que están en esta carpeta y sumará el espacio usado.

Comprobar espacio ocupado (no es real) de la carpeta WinSxS

Como hemos explicado anteriormente, si mostramos las propiedades de la carpeta WinSxS veremos que ocupa un espacio considerable (suelen ser varias GB). Para ello abriremos el Explorador de Windows, abriremos la carpeta del sistema (Windows) y pulsaremos con el botón derecho del ratón sobre la carpeta WinSxS, ejecutando «Propiedades»:

Liberar espacio en la carpeta WinSxS de Windows

Nos mostrará la ventana de Propiedades de la carpeta seleccionada, indicando su espacio ocupado (que, repetimos, no es real):

Liberar espacio en la carpeta WinSxS de Windows

Liberar espacio en la carpeta WinSxS con seguridad

Siguiendo las indicaciones anteriores, no es nada recomendable eliminar el contenido de esta carpeta de forma manual, podría hacer que determinadas aplicaciones dejaran de funcionar.

Afortunadamente Windows cuenta con un comando para analizar el contenido de la carpeta WinSxS y liberar aquellos ficheros huérfanos, que no tengan relación con DLL instaladas.

Para liberar espacio en esta carpeta de forma segura, sin que afecte a las aplicaciones instaladas, abriremos una ventana de MS-DOS como administradores. Para ello, en Inicio, escribimos «cmd»:

Liberar espacio en la carpeta WinSxS de Windows

Y pulsamos con el botón derecho sobre «Símbolo del sistema», eligiendo «Ejecutar como administrador»:

Liberar espacio en la carpeta WinSxS de Windows

Escribiremos el siguiente comando y lo ejecutaremos pulsando INTRO:

Liberar espacio en la carpeta WinSxS de Windows

El proceso tardará unos minutos, en función de la velocidad de nuestro equipo y de las aplicaciones instaladas. Una vez finalizado mostrará:

La operación se completó correctamente.

Liberar espacio en la carpeta WinSxS de Windows

De esta forma habremos liberado espacio en la carpeta WinSxS. Aunque puede que al volver a mostrar sus propiedades siga ocupando lo mismo, pero seguramente en el espacio libre en el disco duro se haya aumentado. Por ello, lo mejor para ver el espacio real liberado es, antes de ejecutar el comando, comprobar las propiedades de la unidad del sistema (normalmente la C):

Liberar espacio en la carpeta WinSxS de Windows

Y volver a mostrar las propiedades una vez finalizado el comando.

NOTA: para Windows Server 2008 e inferiores el comando anterior mostrará el error:

Error: 87
La opción startcomponentcleanup no se reconoce en este contexto.
Consulte la ayuda para obtener más información.

Indicando que no se reconoce el parámetro startcomponentcleanup. En este caso podría usarse el siguiente comando (teniendo en cuenta que una vez ejecutado ya no podrá desinstalarse el service pack que tuviera el equipo):

En caso de no encontrar copias de service pack devolverá:

Limpieza de Service Pack no puede continuar: no se encontraron archivos de copiade seguridad de Service Pack.
La operación se completó correctamente.