391

В папке C:\ProgramData\Package Cache\ есть новая папка, полная установщиков. Я считаю, что это из Visual Studio 2012 RC.

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

9 ответов9

369

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

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


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

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

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

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

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

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


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

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

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

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

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

Junctions распознаются на уровне file system как запись псевдонима в FSTAB . Поэтому он прозрачен для всех программ, включая саму ОС. Другими словами, он НЕ рассматривается как файл, который просто указывает на другое местоположение (например, 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 и перетащить ее туда, где вы хотите создать реальную ссылку. Конечно, вы можете переименовать ссылку на что угодно.

46

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

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

21

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

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

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

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

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

17

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

12

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

7

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

7

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

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

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

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

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

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

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

7

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

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

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

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

2

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .