A maioria de vocês pode ter notado Pasta WinSxS no Windows 7/8/10 e foi surpreendido com o seu tamanho. Para quem não tem, a pasta está situada em C: Windows Winsxs e tem um tamanho enorme! O meu é quase 5 GB e tem cerca de 6000 pastas e 25.000 arquivos e ocupa quase 40% da pasta do Windows! Enquanto o tamanho desta pasta Winsxs, no XP é de cerca de 25-50 MB; Seu tamanho grande no Windows 10, Windows 8, Windows 7 e Windows Vista é intrigante para muitos! Confira a imagem abaixo.
Então, qual é o mistério desta pasta Winsxs no Windows Vista e posterior? Vamos encontrar assim, neste post.A pasta Winsxs armazena várias cópias de dll's para permitir que vários aplicativos sejam executados no Windows sem qualquer problema de compatibilidade. Se você navegar dentro, você verá o que parece ser um monte de dlls duplicados, cada um com o mesmo nome. Na verdade, são versões diferentes dos mesmos arquivos que estão sendo armazenados; como programas diferentes podem exigir versões diferentes.
Pasta WinSxS Windows 10/8/7
Em resumo, Winsxs, que significa "Windows Side By Side", é cache de assembly nativo do Windows. Bibliotecas que estão sendo usadas por vários aplicativos são armazenadas lá. Esse recurso foi introduzido pela primeira vez no Windows ME e foi considerado a solução da Microsoft para os chamados problemas "dll hell" que afetaram o Windows 9x.
Em Winsxs, a pasta "backup" é a maior, como pode ser notado na imagem abaixo.
No Windows 7 e versões posteriores, não há uma pasta "dllcache" e nem a pasta "i386", em que o sistema armazena em cache (como no XP) todos os módulos de origem. É essa pasta WinSxS que armazena os componentes compartilhados de aplicativos lado a lado. Esses arquivos podem ser várias versões do mesmo assembly ou aplicativo. Cada montagem lado-a-lado tem uma identidade única. Um dos atributos da identidade da montagem é sua versão. “Os conjuntos lado-a-lado são usados pelo sistema operacional como unidades fundamentais de nomenclatura, ligação, controle de versão, implantação e configuração. A pasta Winsxs inclui todos os manifestos, componentes opcionais e arquivos Win32 de terceiros”.
Mas, por que tantas subpastas e por que continuar muitos diferentes versões da mesma dll, exe ou outros arquivos?
Como mencionado, o Windows armazena os componentes do dll antigo e da biblioteca na pasta WinSxS. Agora, se uma versão mais recente desse arquivo fizer parte do sistema operacional, mas um aplicativo específico precisar de uma versão mais antiga para execução, a versão mais antiga da pasta winsxs será usada, deixando a versão mais recente em seu lugar atual, para outros aplicações que podem exigir isso.
Então, obviamente, você não pode excluir esse diretório ou movê-lo para outro lugar. Também não é aconselhável excluir nada aqui, pois esse passo provavelmente poderia tornar seus aplicativos inutilizáveis ou até mesmo quebrar seu sistema! Se você tiver muitos aplicativos instalados, poderá ter uma pasta winsxs de tamanho jumbo. Esta pasta WinSxs não pode residir em qualquer outro volume que o volume do sistema. Isso é por causa dos hard links NTFS. Se você tentar mover a pasta, isso poderá fazer com que atualizações, service packs, recursos etc. do Windows não sejam instalados corretamente.
Se você excluir componentes da pasta WinSxS, como os manifestos ou assemblies, etc, você pode estar em apuros. Cada sistema reagiria de maneira diferente. O que pode funcionar para um poderia quebrar o outro! Por exemplo, se você instalar um programa que requer aquele assembly em particular, que você pode ter excluído, esse programa simplesmente não será executado! A compactação da pasta também é um não-não, pois pode causar problemas durante as atualizações do Windows ou durante a instalação de um Hotfix.
A maneira mais segura de limpá-lo é simplesmente desinstalar aplicativos que você não precisa. No entanto, isso também não é à prova de erros, já que muitos aplicativos ainda deixam seus arquivos aqui, já que podem ser compartilhados entre outros aplicativos. Portanto, a probabilidade de os dols não utilizados serem deixados para trás é bastante alta.
Nós não aconselhamos o uso de ferramentas de limpeza WinSxS como WinsxsLite como você pode acabar quebrando o seu Windows.
E se você estiver experimentando novos softwares ou instalando e desinstalando com freqüência, você pode perceber que o tamanho do Winsxs é realmente grande, pois o Windows armazenará várias cópias desses arquivos DLL, para permitir que vários aplicativos não apresentem problemas de compatibilidade.
Limpeza de pasta WinSxs
Windows 8.1 introduziu uma nova opção de linha de comando para o DISM.exe, / AnalyzeComponentStore. Executar este comando, analisará a pasta WinSxS e informará se uma limpeza de armazenamento de componente é recomendada ou não.
Em Windows 8, abra a ferramenta Limpeza de disco e use a opção Limpeza do Windows Update para limpar o WinSxs.
A Microsoft lançou uma atualização que adicionou a opção Limpeza do Windows Update à ferramenta Limpeza de disco Windows 7.
Agora você também pode limpar o WinSxS Windows Server 2008 R2 com nova a nova atualização.
Aqui estão algumas outras opções que você pode considerar liberar espaço em disco - alguma rotina e alguns extremos:
- Execute a ferramenta de limpeza de disco ou CCleaner
- Desinstalar aplicativos não utilizados
- Mover arquivo de paginação para outra unidade
- Desativar a hibernação
- Use a opção de arquivo de despejo dedicado para capturar arquivos de despejo de memória em outro volume no sistema.
- Desativar pontos de restauração do sistema
- Descarregue o perfil do usuário e os diretórios de arquivos do programa em outro volume no sistema.
Atualização 1 dos blogs do TechNet: Uma das maiores mudanças entre as versões anteriores do Windows e do Windows 7 / Vista foi uma mudança de um sistema operacional descrito pelo INF para a componentização. Todos os componentes do sistema operacional são encontrados na pasta WinSxS - na verdade, chamamos esse local de armazenamento de componentes. Cada componente tem um nome exclusivo que inclui a versão, a linguagem e a arquitetura do processador para o qual foi construído. A pasta WinSxS é o único local em que o componente é encontrado no sistema, todas as outras instâncias dos arquivos que você vê no sistema são “projetadas” pelo link físico do armazenamento de componentes.
Agora que você sabe por que a loja pode se tornar tão grande, sua próxima pergunta provavelmente é perguntar por que não removemos as versões mais antigas dos componentes. A resposta curta para isso é confiabilidade. A loja de componentes, juntamente com outras informações no sistema, nos permite determinar, em qualquer momento, qual é a melhor versão de um componente para projeto. Isso significa que, se você desinstalar uma atualização de segurança, poderemos instalar a próxima versão mais alta do sistema - não teremos mais um problema de "desinstalação fora de ordem". Isso também significa que, se você decidir instalar um recurso opcional, não escolhemos apenas a versão RTM do componente. Veremos qual é a versão mais alta disponível no sistema.
A única maneira de reduzir com segurança o tamanho da pasta WinSxS é reduzir o conjunto de possíveis ações que o sistema pode executar - a maneira mais fácil de fazer isso é remover os pacotes que instalaram os componentes em primeiro lugar. Isso pode ser feito desinstalando versões substituídas de pacotes que estão no seu sistema. O Service Pack 1 contém um binário chamado VSP1CLN.EXE, uma ferramenta que tornará o pacote do Service Pack permanente (não removível) em seu sistema e removerá as versões RTM de todos os componentes substituídos. Isso só pode ser feito porque, ao tornar o Service Pack permanente, podemos garantir que nunca precisaremos das versões RTM.
Atualização 2 dos blogs do E7: “Modularizar” o sistema operacional era uma meta de engenharia no Windows Vista. Isso foi para resolver vários problemas no Windows legado relacionados à instalação, manutenção e confiabilidade. O diretório Windows SxS representa o “estado de instalação e manutenção” de todos os componentes do sistema. Mas, na realidade, ele não consome tanto espaço em disco quanto aparece ao usar as ferramentas internas (DIR e Explorer) para medir o espaço em disco usado. O fato de tornarmos complicado para você saber quanto espaço é realmente consumido em um diretório é definitivamente um ponto justo! O diretório WinSxS também permite a manutenção offline e torna o Windows Vista e, posteriormente, “seguro para geração de imagens”.
Houve vários blogs e até mesmo algumas ferramentas "clandestinas" que informam que está tudo bem excluir o diretório do WinSxS, e é certamente verdade que, após a instalação, você pode removê-lo do sistema e parecerá que o sistema é inicializado e executado corretamente. Porém, como descrito acima, essa é uma prática muito ruim, já que você está removendo a capacidade de serviço confiável, todos os componentes do sistema operacional e a capacidade de atualizar ou configurar componentes opcionais em seu sistema. O Windows suporta apenas o diretório WinSxS na unidade física em seu local originalmente instalado.
Conclusão
Deixe a pasta WinSxS ser como é!
Aprenda sobre a pasta Sysnative aqui.
Post portado do WVC.
Leituras adicionais:
- Analisar o Windows Component Store ou o WinSxS no Windows
- Limpeza de pasta WinSxS no Windows 8
- Adicionar a opção Limpeza do Windows Update à ferramenta Limpeza de disco no Windows 7
- Limpe o WinSxS Directory no Windows Server 2008 R2.