Как известно, при установке обновлений Windows, файлы обновлений сначала скачиваются в системные папки, и после установки обновлений… там и остаются. Поэтому, размер папки Windows все время растет. За год папка толстеет на 6-10 Гбайт. Это же происходит, когда вы ставите программы, дистрибутив которых выполнен в виде msi файла. И это помимо массы временных файлов, которые создаются во время установки. Как удалять временные файлы, я думаю, вы знаете.

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

Где искать файлы обновлений?

Все обновления Windows и ряда прочих программ доставляются пользователю на компьютер в виде msi или msp файлов. После скачивания из Интернет они хранятся в папке C:\Windows\SoftwareDistribution\Download. А после установки необходимые системе файлы помещаются в скрытой папке «c:\Windows\Installer«.

Папку C:\Windows\SoftwareDistribution\Download можно чистить смело вручную или написав простейший файл с расширением bat или cmd и поместив в него строку:

del c:\Windows\SoftwareDistribution\Download\*.* /f /s /q

Также растет папка «c:\Windows\Prefetch«. Файлы, которые хранятся в папке prefetch, содержат информацию, о приложениях, которые запускаются на компьютере. Эта информация используется службой Prefetch для более быстрого запуска программ повторно. Если вы часто устанавливаете и удаляете различные программы и приложения, то папка prefetch переполняется лишней информацией, которая уже никак не используется, а просто занимает место на жестком диске. Соответственно если удалить все содержимое папки  prefetch, то нужную информацию программы запишут в нее заново, а ненужная удалится навсегда. Если вы полностью удалите все файлы с папки prefetch, то первая загрузка Windows 7 после удаления немного замедлится, пока программы заново внесут свои данные.

del c:\Windows\Prefetch\*.* /f /s /q

Также, если у вас версия Windows 7 Корпоративная (Enterprise), то у вас может быть включена служба Shadow Copy для теневеого резервного копирования данных. Удалить данные этой службы можно командой:

vssadmin delete shadows /All /Quiet

Сохраненный bat файл с этими 3 строками можно подключить в Планировщик задач и выполнять по расписанию.

А как же папка c:\Windows\Installer?

Как мы сказали, эта папка растет в результате установки программ и обновлений. И просто так её содержимое удалять нельзя, потому что часть данных используется потом для удаления того, что было установлено. Но часть данных бесполезна. Например, одни обновления заменяются другими, более полными, старые становятся не нужны. Как выполнить чистку этой папки грамотно, ничего не повредив?

Я долгое время в работе использую уникальную программу PatchCleaner. Эта утилита обнаруживает такие уже неиспользуемые бесполезные файлы, которые называются orphaned. Как она их находит? Используя WMI запросы к системе можно получить список используемых инсталяторов и патчей и дальше его сравнить со списком файлов в директории Installer.

Утилита имеет возможности использования в режиме командной строки через CLI (Command Line Interface). Запустив утилиту с ключом /d, она автоматически определит все ненужное и удалит такие файлы. Как вы поминаете, её после установки можно также добавить в планировщик и запускать, например, раз в месяц после установки обновлений.

Она прекрасно работает со всеми версиями Windows Vista. Единсвтенное условие для работы — установленный .Net Fframework 4.5.2. Кстати, утилита имеет portable версию.

Что не нужно удалять?

Папка C:\Windows\WinSxS, или Windows Side by Side, присутствует в ОС, начиная с Windows XP. Microsoft создала систему, позволяющую сохранять несколько версий одинаковых библиотек (DLL) и использовать при необходимости именно ту, что требует конкретная программа. Папка предназначена для защиты пользователей от не совсем прямых рук некоторых программистов. При установке некоторые программы пытаются заменить виндосовские dll-файлы на свои собственные, что не всегда есть хорошо и может привести к отказу системы. Компания Microsoft решила эту проблему. Windows направляет dll-файл программы в WinSxS, и программа считает, что все заменено, и спокойно работает. Windows в свою очередь тоже продолжает спокойно работать.

Короче говоря, содержимое этой папки удалять не нужно. Что можно с ним сделать? Да, Windows 8.1 и более новые версии поддерживают сжатие этой папки. Как это можно сделать описано в статье Microsoft на TechNet.

WinSxS, или Windows Side by Side, является еще одним новшеством Windows XP. Microsoft создала систему, позволяющую сохранять несколько версий одинаковых библиотек (DLL) и использовать при необходимости именно ту, что требует конкретная программа. Папка предназначена для защиты пользователей от не совсем прямых рук некоторых программистов. При установке некоторые программы пытаются заменить виндосовские dll-файлы на свои собственные, что не всегда есть хорошо и может привести к отказу системы. Компания Microsoft решила эту проблему. ХР направляет dll-файл программы в WinSxS, и программа считает, что все заменено, и спокойно работает. Windows в свою очередь тоже продолжает спокойно работать.

Источник: http://www.windxp.com.ru/files.htm

C:\Windows\WinSxS

Источник: http://www.windxp.com.ru/files.htm

Command Line Interface

[Посещений: 17 945, из них сегодня: 1]

1 комментарий

  1. Добавлю, что появилось очень удобное приложение InstalledPackagesView, которые показывает все пакеты приложений и обновления, которые когда-либо были установлены на компьютер из msi файлов и зарегистрированы. Она же покажет и все ветки реестра, которые относятся к данному приложению.

Добавить комментарий