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

415

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

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

Бен Л
источник
4
Я бы предложил против всего, что больше, чем 50 МБ, он используется для чего-то. Попробуйте переместить их на рабочий стол или еще что-нибудь, запустив его, и, если он сломается, переместите их обратно.
Джон
1
Я не могу проверить свой первоначальный сценарий, но я помню, что все удалено нормально. Поскольку есть несколько человек, которые говорят, что у них были проблемы, я отменил принятый ответ. Имейте в виду, что я использовал 2012 RC.
Бен Л
@BenL, хотя я понимаю, когда вы говорите: «Я не могу по-настоящему проверить свой исходный сценарий, но я вспоминаю, что все удалено нормально. Поскольку есть несколько человек, которые говорят, что у них были проблемы, я отозвал принятый ответ». Я думаю, что мой ответ ниже (самый популярный на данный момент) позволяет любому, в любом случае, обойти проблему, переместив и указав папку на диске с большим количеством места. Это будет даже работать с автономными СМИ. Таким образом, вы можете просто перемонтировать / вставить свой архивный DVD-диск / заново подключить внешний накопитель, если вы тоже это перенесли, во время удаления, ремонта и т. Д.
Flak DiNenno
1
@FlakDiNenno Мне нравится ваш обходной путь. Но вопрос в том, безопасно ли удалить, а не безопасно ли монтировать или в автономном режиме.
Бен Л
@BenL Хороший вопрос. Я добавил некоторые детали и ссылку от Microsoft, которая определенно рекомендует НЕ УДАЛЯТЬ папку и почему.
Flak DiNenno

Ответы:

387

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

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


Почему нет?

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

Из блогов Microsoft Developer Tools → ЗДЕСЬ

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

Visual Studio 2012 Запрос на источник

Пользователи, которые установили с носителя, даже получают возможность загрузки (если подключены). Таким образом, хотя очень немногие клиенты должны когда-либо видеть этот диалог, мы хотели убедиться, что опыт был легким.
Даже если мы предложим загрузить пакеты в кеш, если они отсутствуют, мы рекомендуем пользователям не удалять кеш пакетов. Кэширование не только используется многими другими продуктами, которые устанавливаются вместе с 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 и приглашение cmd:

      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 и перетащить ее туда, где вы хотите создать реальную ссылку. Конечно, вы можете переименовать ссылку на что угодно.

Flak DiNenno
источник
20
это отличное решение. Мне нужно очистить мой SSD диск, переместив файлы на другой диск. большое спасибо
Марек
7
+1 за расширение оболочки Hardlink. Не мог жить без этого.
Деннис G
144
Уважаемая Microsoft! Пожалуйста, не используйте имя «кеш» для описания папки, которая вызывает такую ​​сильную головную боль при удалении. Благодарю.
Тодд Меньер
9
Сделал трюк с переездом на другой диск и установлением перекрестка. Запустив установщик VS2015 с пакетом обновления 3 (SP3), установщик вызвал переход к обычному каталогу (возможно, при удалении более старой версии какого-либо компонента он выполнялся через «пустые» родительские каталоги, удаляя их - существуют известные проблемы с соединениями и наивным пустым каталогом). тесты). Поэтому он поместил новые компоненты в C: \ ProgramData \ Package Cache, а затем не смог найти элементы в новом месте, где ранее указывало соединение. Просто предупреждение будущим читателям, что пересечение может потребоваться восстановить.
Бен Фойгт
5
В качестве более постоянного исправления используйте разрешения NTFS и запретите разрешение «удалить» на самом перекрестке.
Бен Фойгт
48

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

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

Клаудио Валерио
источник
22

Правильный ответ кажется, что если вы удалите его, VS 2012 не удастся удалить, но в противном случае это не нужно. Следовательно:

  1. Вы можете оставить файлы там. Все будет работать, но будет занимать много места на диске.
  2. Вы можете удалить файлы, и если вы хотите удалить VS 2012, вы можете перезапустить оригинальный установщик, чтобы вернуть файлы обратно, а затем удалить.
  3. Вы можете переместить файлы на другой диск с большим количеством свободного места и либо:

    а) переместить файлы обратно, когда они вам нужны

    б) создать соединение, как в предложении Флака (предупреждение: соединения - хитрые звери, и они будут лгать Windows Explorer, сообщая, что файлы занимают место на диске C: когда они действительно находятся на другом диске!)

Соединения и символические ссылки - единственный ответ для перемещения системных файлов на другой диск. Они представляют собой функции уровня файловой системы NTFS, о которых даже сама Windows не замечает, и, таким образом, представляют собой действительно большой молоток (и потенциальную угрозу безопасности), который следует использовать экономно, в отличие от своих аналогов в UNIX / Linux / BSD, поскольку они существуют намного дольше в этом семействе ОС и UNIX / Linux / BSD программы знают, как с ними обращаться.

Джонатан Болдуин
источник
2
соединения - это хитрые звери, и они будут лгать проводнику Windows, говоря, что файлы занимают место на диске на C - если вы имеете в виду, что при открытии диалогового окна свойств соединения, он отображает «Размер на диске», равный его размер на диске, на котором он фактически находится, тогда я согласен, что это вводит в заблуждение. Но, тем не менее, фактический размер соединяемой папки не складывается с общим используемым пространством на диске C, как показано в диалоговом окне свойств диска C. В этом случае ваше заявление вводит в заблуждение ;-)
Snađошƒаӽ
18

Все установщики программного обеспечения сохраняются в этой папке. Сбой при попытке удалить программное обеспечение после удаления этой папки.

ahjzysq
источник
14

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

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

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

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

0xA3
источник
Кто-нибудь проверял отключение и удаление кеша после установки vs2017?
Бен Л
1
@BenL: это сработало для меня.
0xA3
Похоже, что это правильный способ удаления папки кэша пакетов. Единственное, вызова недостаточно: вам фактически нужно выполнить действие через установщик (например, обновить или переустановить visual studio).
Ренна
12

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

Йохан Свенссон
источник
7
Это принятый ответ, и это неправильно . Если вы удалите эту папку, вы не сможете удалить или обновить Visual Studio (и связанные с ним инструменты и распространяемые
файлы
5
Вы ошибаетесь, мне без проблем удалось обновить Visual Studio 2012 до последних обновлений. Благодарю.
Йохан Свенссон
7

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

kinokijuf
источник
7

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

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

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

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

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

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

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

SDsolar
источник
6
Месяцы спустя все равно проблем нет.
SDsolar
1

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

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

Прахлад Ери
источник
13
Будь очень осторожен; Эти программы ни в коем случае не являются надежными. Известно, что CCleaner удаляет файлы, критически важные для запуска некоторых программ, а некоторые опции удаляют файлы, сохраненные для удаления.
Боб
4
CCleaner просто дерьмовый более или менее. Мне пришлось восстановить свой компьютер (из-за невозможности запуска) после попытки использования этого инструмента. Лучше не используйте его никогда.
Безнадежно