Перейти к содержимому

Могу ли я удалить папку C: \ ProgramData \ Package Cache \?

383

Существует новая папка, полная инсталляторов, расположенных по адресу C:\ProgramData\Package Cache\. Я считаю, что это из Visual Studio 2012 RC.

Могу ли я удалить эти гигабайты данных без последствий? Это все временные файлы? Это бета-продукт, поэтому я не уверен, что есть много информации об этой папке.

507 703 просмотра
Ben L спросил 14 лет назад
B 2 152

9 ответов

356
Принятый ответ

TL; DR: НЕ удаляйте эту папку

(см. ниже для обходных путей )


Почему бы и нет?

Были противоречивые сообщения о том, будет ли отсутствие этой папки (как следствие ее удаления) действительно и во всех случаях вызывать проблемы с установкой Visual Studio, т. Е. Во время нормальной работы, во время переустановки, исправления / обновления, восстановления установки или деинсталляция. Тем не менее, рекомендация MICROSOFT явно НЕ УДАЛЯЕТ ЕГО .

От Блогов Инструментов Разработчика Microsoft → ЗДЕСЬ

При восстановлении, изменении или удалении продукта или при установке или удалении исправления, если требуется исходный носитель, кэш пакета используется автоматически, и большинство пользователей никогда не увидят подсказку. Только если кэш пакета отсутствует или неполон, программа установки Visual Studio предложит загрузить (если он подключен) или найти носитель, как показано на снимке экрана ниже.

Visual Studio 2012 Prompt for Source

Пользователи, которые установили с носителя, даже получают возможность загрузки (если подключены). Таким образом, хотя очень немногие клиенты должны когда-либо видеть этот диалог, мы хотели, чтобы процесс был легким.
Даже если мы предложим загрузить пакеты в кеш, если они отсутствуют, мы рекомендуем пользователям не удалять кеш пакетов. Кэширование не только используется многими другими продуктами, которые устанавливаются вместе с Burn, и может не обеспечивать такой же опыт загрузки, но существуют сценарии, когда установщику Windows может потребоваться источник, который мы не можем обработать, поскольку наш код не работает.


Решение / обходным:

Если вам нужно освободить это место, вам лучше всего не «удалять» что-либо, а вместо этого перемещать эту папку и все ее файлы. Вы можете безопасно сделать это, следуя приведенным ниже инструкциям, для любого локального / оперативного, оперативного, ближнего или автономного хранилища, если только эта система хранения может быть подключена к букве диска или к любой точке монтирования в файловой системе NTFS . Любое из следующего будет работать:

  • другой живой (смонтированный) раздел
  • оптический диск (CD, DVD и т. д.) с работающей файловой системой, такой как FAT или NTFS
  • внешний жесткий диск
  • USB-накопитель
  • сетевой диск

Всякий раз, когда вам предлагается ввести носитель / получать какие-либо сообщения об отсутствующих файлах / отсутствующем местоположении, вы просто обязательно перемонтируете / заново вставьте диск / носитель, если он еще не является живым разделом.

После перемещения, чтобы «связать» старую точку / местоположение монтирования (в большинстве случаев C:\ProgramData\Package Cache\), вы просто создаете каталог junctionдля нее.

Junctionsраспознаются на file systemуровне как запись псевдонима в FSTAB. Поэтому он прозрачен для всех программ, включая саму ОС. Другими словами, он НЕ рассматривается как файл, который просто указывает на другое местоположение (например, a shortcut) и поэтому всегда работает без инцидентов.

  1. Вы бы переместили нужную папку (и) в новое место
  2. Создать перекресток

    • Вариант 1. (изначально) : просто введите встроенную команду Windows Vista / 7/8 и командную строку:

      mklink /J oldpath newpath 

      ПРИМЕЧАНИЕ. Если вы сделаете newpathабсолют, вы сможете перемещать ссылку, не нарушая указатель на newpath. Если вы сделаете newpathродственника, вы сможете предотвратить разрыв связи, если вы переместите ОБА ссылку и наметите ВМЕСТЕ и сохраните их относительные пути.

    • Вариант 2. (с использованием инструмента) . Еще одна БОЛЬШАЯ альтернатива - бесплатная удобная утилита, которую я годами использую под названием «Расширение Link Shell» . LSE бесплатен, и вы можете найти его здесь (или Google для него): http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

      LSE позволяет вам создавать символические ссылки, жесткие ссылки, переходы, смарт-копии, смарт-клоны, интеллектуальные зеркала, интеллектуальные перемещения, сращивания, несколько источников и кучу других вещей, которые, откровенно говоря, мне показались слишком запутанными. Но это великолепный бесплатный продукт, который создает контекстное меню Windows Explorer, которое позволяет щелкнуть правой кнопкой мыши папку LINK-TARGET и перетащить ее туда, где вы хотите создать реальную ссылку. Конечно, вы можете переименовать ссылку на что угодно.

это отличное решение. Мне нужно очистить мой SSD диск, переместив файлы на другой диск. большое спасибо

marek · 13 лет назад · 17

+1 за расширение оболочки Hardlink. Не мог жить без этого.

Dennis G · 12 лет назад · 6

@BenL, хотя вы «не можете по-настоящему протестировать мой первоначальный сценарий, но я помню, что все удалено нормально. Поскольку есть несколько человек, которые говорят, что у них возникли проблемы, я отменил принятый ответ». Я думаю, что мой ответ выше позволяет любому в любой ситуации обойти проблему во всех случаях.

Flak DiNenno · 12 лет назад · 1

Я думаю, что если нужного пакета нет в кеше, VS его скачает. Так что я собираюсь просто удалить его. Я обновлю этот комментарий позже, если у меня возникнут проблемы.

toddmo · 10 лет назад · 2

Уважаемая Microsoft: Пожалуйста, не используйте имя «кеш» для описания папки, которая вызывает такую ​​сильную головную боль при удалении. Благодарю.

Todd Menier · 10 лет назад · 106

Сделал трюк с переездом на другой диск и установлением перекрестка. Запустив установщик VS2015 с пакетом обновления 3 (SP3), установщик вызвал переход к обычному каталогу (возможно, при удалении более старой версии какого-либо компонента он проходил через «пустые» родительские каталоги, удаляя их - существуют известные проблемы с соединениями и наивным пустым каталогом). тесты). Поэтому он поместил новые компоненты в C: \ ProgramData \ Package Cache, а затем не смог найти элементы в новом месте, где ранее указывало соединение. Просто предупреждение будущим читателям, что пересечение может потребоваться восстановить.

Ben Voigt · 10 лет назад · 7

В качестве более постоянного исправления используйте разрешения NTFS и запретите разрешение «удалить» на самом перекрестке.

Ben Voigt · 10 лет назад · 5

Итак, у меня есть друг * кашель *, который удалил эту папку, есть ли способ восстановить PackageCache? Связанное сообщение в блоге упоминает об этом, но не вдаваться в подробности ..

kadrach · 10 лет назад · 1

Я очень смущен по поводу абсолютных / относительных комментариев. если я перевожу его на другой диск, то наверняка он должен быть абсолютным? Я также не знаю, что означает «переместить ссылку и цель вместе». Я просто скопировал и вставил на другой диск и сделал mklink / J" c: \ programdata \ Package Cache "": \ package cache ", и все это работало нормально - но кто-нибудь может уточнить для меня абсолютный / относительный комментарий. Спасибо

Simon · 9 лет назад · 0

@Simon Я постараюсь помочь, но, извини, какой комментарий ты имеешь в виду? Thnx.

Flak DiNenno · 9 лет назад · 0

В другом сообщении блога Microsoft обсуждается эта тема и упоминается необходимость сохранения прав доступа к файлам / папкам при перемещении этой папки. Сообщение в блоге описывает использование VHD, но последующий комментарий автора утверждает, что с использованием точки соединения также допустимо. Но ACL нужно учитывать. См. Https://blogs.msdn.microsoft.com/heaths/2014/02/11/how-to-relocate-the-package-cache/

MikeOnline · 9 лет назад · 0

The only reason I know of this folder's existence is because I'm trying to uninstall VS 2013 using the Programs and Features panel, and while the dark box that says "Visual Studio" comes up, no uninstaller ever arrives. So, curious what the item in the Programs and Features list was even pointing to, I looked for it on disk and found these package caches. I can't uninstall OR install VS as of now (and the version that's installed isn't launching), so I think deleting this folder is my last resort before I have to do a clean install of Windows to get going again.

bubbleking · 9 лет назад · 2

@bubbleking: Пожалуйста, пожалуйста, вернитесь к нам и скажите, что устранение тупика монстром!

Sz. · 9 лет назад · 0

@Sz. - Nope. It just made the items kind of disappear from Programs and Features as though they were already uninstalled, but some of them stayed and just didn't have their icons anymore. Truth be told this was a system where several versions of SQL Server and VS had been installed and removed. Before putting on SQL Server 2016 and VS 2015 Update 3, I wanted to start with a clean slate. I thought I'd probably need to just clean install Windows, but first I tried using Total Uninstaller to remove the myriad VS/SQL packages I never used. The uninstallers weren't working, nor were the...

bubbleking · 9 лет назад · 0

@Sz. - installers. After using Total Uninstaller, nothing got better. Like I said, I'll just need to install Windows fresh. This time, though, I'm older and wiser and know which bloaty packages I don't need to install from VS and SQL Server.

bubbleking · 9 лет назад · 0

@bubbleking: Спасибо за проверку с обновлением, высоко ценится!

Sz. · 9 лет назад · 0

Просто чтобы поделиться неудачной подсказкой: я попытался сжать содержимое папки, и результаты почти ничего. Не стоит пытаться, это уже сжато.

pgr · 9 лет назад · 1

Если вы удалили Visual Studio ДА, вы можете удалить этот оставшийся каталог. Смотрите мой ответ ниже.

SDsolar · 9 лет назад · 1

Это кажется сейчас устаревшим. См. Https://docs.microsoft.com/en-us/visualstudio/install/disable-or-move-the-package-cache.

0xA3 · 8 лет назад · 1
Flak DiNenno ответил 13 лет назад
F 4 020
46

Я нашел ту же папку на моем ноутбуке после установки VS2012. Я попытался переименовать эту папку в «__Package Cache». Когда я попытался удалить VS2012, процесс удаления не запустился.

Более подробная информация доступна здесь .

Claudio Valerio ответил 13 лет назад
C 561
19

The correct answer seems to be that if you delete it, VS 2012 will fail to uninstall, but it is otherwise not needed. Therefore:

  1. You can leave the files there. Everything will work but it will use lots of disk space.
  2. You can delete the files, and if you want to uninstall VS 2012, you can re-run the original installer to put the files back, then uninstall.
  3. You can move the files to another drive with more free space and either:

    a) move the files back when you need them

    b) create a junction as in Flak's suggestion (warning: junctions are tricky beasts, and will lie to Windows Explorer telling you the files take up disk space on C: when they are really on another drive!)

Junctions and symbolic links are the only answer for moving system files to another drive. They are NTFS filesystem-level features that even Windows itself is oblivious to, and thus are a really big hammer (and potential security risk) that should be used sparingly unlike their UNIX/Linux/BSD counterparts, since they have been around a lot longer on that OS family and UNIX/Linux/BSD programs know how to deal with them.

  • Соединения - это хитрые звери, и они будут лгать Windows Explorer, говоря, что файлы занимают место на диске на C * - если вы имеете в виду, что при открытии диалогового окна свойств узла, он отображает «Размер на диске» равный его размеру на диске, на котором он находится, то я согласен, что это вводит в заблуждение. Но, тем не менее, фактический размер папки *, с которой выполняется соединение, * не складывается с общим используемым пространством на диске C, как показано в диалоговом окне свойств диска C. В этом случае ваше утверждение вводит в заблуждение ;-)
Sнаđошƒаӽ · 9 лет назад · 2
Jonathan Baldwin ответил 13 лет назад
J 386
16

All the software's installers are saved in this folder. It would fail when you try to uninstall a software after deleting this folder.

ahjzysq ответил 13 лет назад
A 161
12

I noticed this folder after I installed Visual Studio 2012, in my case everything in it contained to the Visual Studio 2012 installation, I manually removed it and everything seems to be working including Visual Studio.

Это принятый ответ, и он ** неправильный **. Если вы удалите эту папку, вы ** не сможете ** удалить или обновить Visual Studio (а также соответствующие инструменты и распространяемые файлы - это ** вызовет проблемы с безопасностью, если выйдет обновление для сред выполнения MSVC)

kinokijuf · 13 лет назад · 7

Вы ошибаетесь, мне без проблем удалось обновить Visual Studio 2012 до последних обновлений. Благодарю.

Johan Svensson · 13 лет назад · 5
Johan Svensson ответил 13 лет назад
J 256
7

Нет. Если вы удалите эту папку, вы не сможете удалить (и, возможно, обновить) Visual Studio.

kinokijuf ответил 13 лет назад
K 6 647
6

ДА, вы можете удалить этот каталог, если вы удалили Visual Studio.

Я нашел этот каталог после удаления Visual Studio при подготовке к установке SSD меньше, чем жесткий диск, который я использовал ранее. Этот компьютер больше не является станцией разработки.

При удалении Visual Studio осталось какое-то другое программное обеспечение, например, программа для подключения к локальному серверу SQL, которого у меня нет. Я удалил это.

Он также оставил после себя несколько программ .NET, но я не знаю, какие из них безопасно удалить, поэтому я оставил их на месте.

Итак, к вопросу: я удалил этот каталог.

Он был довольно большой, поэтому помог мне лучше вписаться в мой SSD.

Теперь днем ​​позже я не заметил никаких проблем.

Месяцы спустя все равно проблем нет.

SDsolar · 8 лет назад · 3
SDsolar ответил 9 лет назад
S 988
5

В Visual Studio 2017 вы можете отключить кеш пакетов (даже после установки Visual Studio), вызвав:

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

Я получил около 2 ГБ дискового пространства на моем системном диске (YMMV).

Для получения дополнительной информации см. Документы: Документы Visual Studio: отключение или удаление кэша пакетов.

Кто-нибудь проверял отключение и удаление кеша после установки vs2017?

Ben L · 8 лет назад · 0

@BenL: это сработало для меня.

0xA3 · 8 лет назад · 0
0xA3 ответил 8 лет назад
0 472
2

Обычно лучше не связываться с удалением этих файлов вручную, а вместо этого оставить эту задачу либо для очистки диска Windows, либо для других инструментов очистки диска. Тот, кого я лично использую и могу рекомендовать, - это CCleaner .

CCleaner может помочь вам автоматически найти устаревшие файлы в программе и удалить их для вас.

Будь очень осторожен; Эти программы ни в коем случае не являются надежными. Известно, что CCleaner удаляет файлы, критически важные для запуска некоторых программ, а некоторые опции удаляют файлы, сохраненные для удаления.

Bob · 13 лет назад · 11

CCleaner просто дерьмовый более или менее. Мне пришлось восстановить свой компьютер (из-за невозможности запуска) после попытки использования этого инструмента. Лучше не используйте его никогда.

Hopeless · 10 лет назад · 3
Prahlad Yeri ответил 14 лет назад
P 593