Posso excluir a pasta C: \ ProgramData \ Package Cache \?

415

Há uma nova pasta cheia de instaladores localizados em C:\ProgramData\Package Cache\. Eu acredito que isso é do Visual Studio 2012 RC.

Posso excluir esses gigabytes de dados sem consequências? Eles são todos arquivos temporários? É um produto beta, então não tenho certeza de que exista muita informação sobre esta pasta.

Ben L
fonte
4
Eu sugeriria que qualquer coisa com mais de 50 MB de tamanho é usada para alguma coisa. Tente movê-los para a área de trabalho ou algo assim, executando-o e, se travar, mova-os para trás.
Jon
1
Não posso realmente testar meu cenário original, mas lembro que tudo foi desinstalado corretamente. Como há várias pessoas dizendo que tiveram problemas, revoguei a resposta aceita. Lembre-se de que eu estava usando o RC 2012.
Ben L
@ BenL, embora eu entenda quando você diz: "Na verdade, não posso testar meu cenário original, mas lembro que tudo foi desinstalado corretamente. Como há várias pessoas dizendo que tiveram problemas, revoguei a resposta aceita". Acho que minha resposta abaixo (a mais popular até agora) permite que qualquer pessoa, em qualquer caso, resolva o problema movendo e apontando a pasta para uma unidade com mais espaço. Até funcionará com mídia offline. Assim, você pode simplesmente remontar o / inserir o arquivo de DVD / reconectar seu disco rígido externo, se é onde você se move isso também, no momento da desinstalação, reparos, etc.
Flak DiNenno
1
@FlakDiNenno Gosto da sua solução alternativa. Mas a questão é se é seguro excluir, não se é seguro montar ou offline.
Ben L
@BenL Bom ponto. Adicionei alguns detalhes e um link da Microsoft que definitivamente recomenda que você NÃO exclua a pasta e por quê.
Flak DiNenno

Respostas:

387

TL; DR: NÃO exclua esta pasta

(veja abaixo as soluções alternativas )


Por que não?

Houve relatos conflitantes sobre se a ausência desta pasta (como conseqüência da exclusão dela) causará realmente e em todos os casos problemas na instalação do visual studio, ou seja, durante a operação normal, durante a reinstalação, correção / atualização, instalação de reparo ou Desinstalar. No entanto, a recomendação da MICROSOFT é claramente NÃO DELETE .

De Blogs das Ferramentas para Desenvolvedor da Microsoft → AQUI

Ao reparar, modificar ou desinstalar um produto ou ao instalar ou desinstalar um patch, se a mídia de origem for necessária, o cache do pacote será usado automaticamente e a maioria dos usuários nunca verá um prompt. Somente se o cache do pacote estiver ausente ou incompleto, a instalação do Visual Studio solicitará o download (se conectado) ou localizará a mídia, conforme mostrado na captura de tela abaixo.

Solicitação do Visual Studio 2012 para origem

Os usuários que instalaram a partir da mídia ainda têm a opção de fazer o download (se conectado). Portanto, embora muito poucos clientes devam ver esse diálogo, queríamos garantir que a experiência fosse fácil.
Mesmo que solicitemos o download de pacotes para o cache, se estiverem ausentes, recomendamos que os usuários não removam o cache do pacote. O cache não é usado apenas por muitos outros produtos instalados com o Burn e pode não fornecer a mesma experiência de download, há situações em que o Windows Installer pode exigir uma fonte que não podemos manipular porque nosso código não está em execução.


Solução / solução alternativa:

Se você precisar recuperar esse espaço, sua aposta mais segura é evitar "excluir" qualquer coisa, mas, em vez disso, mova esta pasta e todos os seus arquivos. Você pode fazer isso com segurança, seguindo as instruções abaixo, para qualquer armazenamento local / ao vivo, online, local ou offline , desde que o sistema de armazenamento possa ser montado em uma letra de unidade ou em qualquer ponto de montagem no sistema de arquivos NTFS . Qualquer um dos seguintes procedimentos funcionará:

  • outra partição ao vivo (montada)
  • um disco óptico (CD, DVD, etc.) com um sistema de arquivos ao vivo como FAT ou NTFS
  • um disco rígido externo
  • uma unidade USB
  • uma unidade de rede

Sempre que a mídia for solicitada / você receber algum erro sobre a falta de arquivos / localização ausente, basta remontar / reinserir a unidade / mídia, se ela ainda não estiver em uma partição ativa.

Uma vez movido, para "vincular" o antigo ponto / local de montagem (na maioria dos casos C:\ProgramData\Package Cache\), você simplesmente cria um diretório junctionpara ele.

Junctionssão reconhecidos no file systemnível como uma entrada de alias no FSTAB. Portanto, é transparente para todos os programas, incluindo o próprio sistema operacional. Em outras palavras, NÃO é visto como um arquivo que simplesmente aponta para outro local (como a shortcut) e, portanto, sempre funciona sem incidentes.

  1. Você moveria as pastas em questão para seu novo local
  2. Crie a junção

    • Opção 1. (nativamente) : basta emitir o comando interno do Windows Vista / 7/8 e o prompt do cmd:

      mklink /J oldpath newpath
      

      NOTA: Se você fizer o newpathabsoluto, poderá mover o link sem interromper o ponteiro para o newpath. Se você criar o newpathparente, poderá impedir a quebra do link, desde que você mova o link e o alvo JUNTOS e mantenha seus caminhos relativos.

    • Opção 2. (usando uma ferramenta) : Outra ótima alternativa é um utilitário gratuito que venho usando há anos, chamado "Link Shell Extension" . O LSE é gratuito e você pode encontrá-lo aqui (ou no Google): http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

      O LSE permite criar links simbólicos, hardlinks, junções, cópias inteligentes, smartclones, espelhos inteligentes, movimentos inteligentes, emendas, várias fontes e várias outras coisas que achei muito confusas para ler, francamente. Mas, é um produto gratuito brilhante que cria um menu de contexto do Windows Explorer que permite clicar com o botão direito do mouse na pasta LINK-TARGET e arrastá-la para onde você deseja criar o link real. É claro que você pode renomear o link para o que quiser.

Flak DiNenno
fonte
20
Esta é uma ótima solução. eu preciso limpar minha unidade SSD c movendo os arquivos para outra unidade. muito obrigado
Marek
7
+1 para a Extensão do Shell Hardlink. Não poderia viver sem ele.
Dennis L
144
Caro Microsoft: Não use o nome "cache" para descrever uma pasta que causa tanta dor de cabeça quando excluída. Obrigado.
Todd Menier
9
Fiz o truque ao mudar para outra unidade e fazer uma junção. Ao executar o instalador do VS2015 SP3 hoje, o instalador fez com que a junção se transformasse em um diretório normal (possivelmente ao desinstalar uma versão mais antiga de algum componente, ela retornou pelos diretórios pai "vazios", removendo-os - existem problemas conhecidos com junções e diretório vazio ingênuo testes). Por isso, colocou novos componentes em C: \ ProgramData \ Package Cache e falhou ao encontrar itens no novo local para o qual a junção apontava anteriormente. Apenas um aviso para futuros leitores de que a junção pode precisar ser restabelecida.
Ben Voigt
5
Como uma correção mais permanente, use as permissões NTFS e negue a permissão "excluir" na própria junção.
Ben Voigt
48

Encontrei a mesma pasta no meu laptop após a instalação do VS2012. Tentei renomear essa pasta para '__Package Cache'. Quando tentei desinstalar o VS2012, o processo de desinstalação falhou ao iniciar.

Mais informações estão disponíveis aqui .

Claudio Valerio
fonte
22

A resposta correta parece ser que, se você a excluir, o VS 2012 falhará na desinstalação, mas, caso contrário, não será necessário. Portanto:

  1. Você pode deixar os arquivos lá. Tudo funcionará, mas ele utilizará muito espaço em disco.
  2. Você pode excluir os arquivos e, se desejar desinstalar o VS 2012, pode executar novamente o instalador original para colocar os arquivos de volta e desinstalar.
  3. Você pode mover os arquivos para outra unidade com mais espaço livre e:

    a) mova os arquivos de volta quando precisar deles

    b) crie uma junção como na sugestão de Flak (aviso: junções são bestas complicadas e mentirá para o Windows Explorer, informando que os arquivos ocupam espaço em disco em C: quando estão realmente em outra unidade!)

Junções e links simbólicos são a única resposta para mover arquivos do sistema para outra unidade. São recursos no nível de sistema de arquivos NTFS aos quais até o próprio Windows ignora e, portanto, são realmente um grande martelo (e risco potencial à segurança) que devem ser usados ​​com moderação, diferentemente de seus equivalentes UNIX / Linux / BSD, já que existem há muito mais tempo. nessa família de SO e os programas UNIX / Linux / BSD sabem como lidar com eles.

Jonathan Baldwin
fonte
2
as junções são bestas complicadas e mentirão para o Windows Explorer, informando que os arquivos ocupam espaço em disco em C - se o que você quer dizer com isso é que, quando você abre a caixa de diálogo de propriedades da junção, ele exibe o "Tamanho no disco" igual a seu tamanho no disco em que ele realmente está, concordo que é enganoso. Porém, no entanto, o tamanho real da pasta que está sendo unida não soma o espaço total usado na unidade C, conforme exibido pela caixa de diálogo de propriedades da unidade C. Nesse caso, sua indicação é enganosa ;-)
Sнаđошƒаӽ
18

Todos os instaladores do software são salvos nesta pasta. Falha ao tentar desinstalar um software depois de excluir esta pasta.

ahjzysq
fonte
13

Para o Visual Studio 2017, você pode desativar o cache do pacote (mesmo após a instalação do Visual Studio) chamando:

"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe" --nocache

Ganhei cerca de 2 GB de espaço em disco na unidade do sistema (YMMV).

Para obter detalhes, consulte os documentos: Visual Studio Docs: Desativar ou remover o cache do pacote

0xA3
fonte
Alguém testou desabilitar e remover o cache após a instalação do vs2017?
Ben L
1
@ BenL: Funcionou para mim.
0xA3 30/05
Essa parece ser a maneira correta de excluir a pasta Cache do Pacote. A única coisa é que chamar não é suficiente: você realmente precisa executar uma ação através do instalador (como atualizar ou reinstalar o visual studio).
rsenna
12

Percebi essa pasta depois de instalar o Visual Studio 2012; no meu caso, tudo nela contido na instalação do Visual Studio 2012, eu a removi manualmente e tudo parece estar funcionando, incluindo o Visual Studio.

Johan Svensson
fonte
7
Esta é a resposta aceita e está errada . Se você excluir esta pasta que você não vai ser capaz de desinstalar ou atualizar o Visual Studio (e ferramentas e redistributables relacionados - isto irá causar problemas de segurança se uma atualização para tempos de execução MSVC sai)
kinokijuf
5
Você está errado, sem problemas consegui atualizar o Visual Studio 2012 com as atualizações mais recentes. Obrigado.
Johan Svensson
7

Não. Se você excluir esta pasta, não poderá desinstalar (e possivelmente atualizar) o Visual Studio.

kinokijuf
fonte
7

SIM, você pode excluir este diretório, se tiver desinstalado o Visual Studio.

Encontrei este diretório depois de desinstalar o Visual Studio, em preparação para instalar um SSD menor que o disco rígido que eu estava usando antes. Este computador não é mais uma estação de desenvolvimento.

A desinstalação do Visual Studio deixou para trás algum outro software, como um programa, para conectar-se a um servidor SQL local, o que eu não tenho. Eu o desinstalei.

Ele também deixou para trás vários programas .NET, mas não sei quais são seguros para desinstalar, então os deixei no lugar.

Então, ao ponto da pergunta: eu excluí este diretório.

Era muito grande, então me ajudou a encaixar melhor no meu SSD.

Agora, um dia depois, não notei nenhum problema.

SDsolar
fonte
6
Meses depois, ainda sem problemas.
SDsolar
1

Geralmente é melhor não atrapalhar a exclusão desses arquivos manualmente e, em vez disso, deixe essa tarefa na Limpeza de Disco do Windows ou em outras ferramentas de limpeza de disco. O que eu pessoalmente uso e posso recomendar é o CCleaner .

O CCleaner pode ajudá-lo a encontrar automaticamente arquivos obsoletos em um programa e excluí-los para você.

Prahlad Yeri
fonte
13
Tenha muito cuidado; esses programas não são de forma alguma infalíveis. Sabe-se que o CCleaner remove arquivos críticos para a execução de alguns programas, e algumas opções removerão os arquivos mantidos para desinstalação.
Bob
4
O CCleaner é um pouco mais ou menos ruim. Eu tive que restaurar meu computador (devido à impossibilidade de iniciar) depois de tentar usar esta ferramenta. Melhor nunca nunca usá-lo.
Hopeless