Всякий пользователь, хоть чуть-чуть интересующийся тем, что происходит с его компьютером, наверняка заметил, что процесс установки и удаления программ приводит к появлению самого разного мусора на диске и в реестре Windows — штатные средства деинсталляции не только не предназначены для 100%-го удаления всего, что было привнесено в систему при установке программы, но нередко специально оставляют свои следы в ОС пользователя.
Подобное поведение стандартных деинсталляторов, идущих в комплекте с программами, вызывает проблемы у пользователя, периодически устанавливающего новые условно-бесплатные программы и удаляющего их по истечении разрешённого срока использования или просто ввиду их неактуальности.
Во-первых, это засорение диска файлами и папками, оставшимися от удалённых программ, причём часто это не только скрытые в каталоге Program Files или в недрах Windows\system32 и не особо заметные файлы (тем не менее, отъедающие немало дискового пространства), но и папки и ярлыки в меню Пуск и на Рабочем столе, в том числе рекламного характера или попросту неработающие.
Во-вторых, это засорение системного реестра — главной базы данных операционной системы, в которой хранятся настройки самой Windows и программ для неё. Мусор в реестре менее заметен, чем файлы на диске, но вреда может принести гораздо больше. Метки, которые при своей инсталляции прописывают в реестр (и оставляют там навечно) условно-бесплатные программы, чтобы учитывать время триального периода, — самое безобидное, поскольку не мешает ни системе, ни другим программам. Как, впрочем, и разделы реестра, отвечающие за настройку установленной программы, — они, конечно, приводят к разбуханию реестра, но на скорости работы системы это сказывается не так сильно. Гораздо хуже, если созданная начинающим программистом утилита перепишет под себя какие-то системные параметры, а при своей деинсталляции забудет вернуть их исходные значения. В этом случае в Windows появится то, что обычно называют «глюками» ОС, хотя виноватыми в них чаще всего оказываются «кривые» программы. Нередка ситуация, когда программа при неудачной инсталляции или из-за сбоя в процессе своей работы повреждает какой-то свой же параметр в реестре, из-за чего теряет работоспособность, либо даже отказывается впоследствии переустанавливаться. И, наконец, самое опасное — если некорректный параметр в реестре приведёт к невозможности загрузить ОС, что часто случается при установке новых драйверов или приложений, инсталлирующих свой системный сервис.
Способ борьбы с подобным поведением программ давно известен — использование специализированного деинсталлятора, который умеет отслеживать все изменения, реально происходящие в системе при установке программ. Одним из лучших деинсталляторов на сегодня является программа Ashampoo Uninstaller (www.ashampoo.com).
Принцип действия
Для того, чтобы выявить все изменения, произошедшие при установке программы, Ashampoo Uninstaller делает так называемые снимки системы — два файла протокола, в которых полностью зафиксирована файловая структура, а также текущее содержимое реестра и главных системных файлов. Первый — файл OldCFG.ECD — перед установкой программы, второй — NewCFG.ECD — после. Полученные снимки могут иметь довольно большой объем (например, 15 Мб), особенно если в Windows установлено много программ (то есть много файлов и данных в реестре), но их в системе всегда два и они создаются заново при каждом сканировании.
После того, как создание второго снимка завершено, автоматически запускается сравнение этих снимков, в результате которого мы получаем список всех изменений, зафиксированных в системе — лог-файл, объемом десятки или сотни килобайт, который рекомендуется назвать таким же именем, как программа, инсталляцию которой мы таким образом отслеживаем (например: Winamp 5.04.ecl — с указанием версии, поскольку обычно одна и та же программа ставится несколько раз по мере выхода обновлений). Этот лог-файл хранится на диске и позволяет в любой момент полностью удалить программу, отменить какие-то отдельные изменения в реестре или на диске или просто посмотреть, что произошло в Windows при установке приложения. Интерфейсом для работы с лог-файлом служит сам Ashampoo Uninstaller.
Настройка
Использование Ashampoo Uninstaller в Windows XP требует некоторой предварительной настройки, призванной максимально повысить эффективность сканирования и удобство работы. Откройте диалог File — Preferences и на странице General отключите запуск резидентного монитора UIWatcher. Утилита эта предназначена для автоматического запуска Ashamoo Uninstaller при установке программ: как только UIWatcher зафиксирует запуск файла с именем Setup.exe, инсталляция программы приостанавливается и загружается Ashampoo Uninstaller для снятия снимка системы. Полезность этого монитора крайне сомнительна: далеко не все инсталляторы носят имена Setup.exe и Install.exe, поэтому высок риск прошляпить какую-то из программ. Плюс ко всему, установка новых программ — явление далеко не ежедневное, а постоянное нахождение в памяти лишней утилиты снижает стабильность ОС и потребляет ресурсы памяти и процессора. Поэтому осуществлять мониторинг всех инсталляций следует запуская деинсталлятор вручную.
На этой же вкладке установите переключатель Mode в положение Expert — это сделает работу с программой максимально удобной и откроет доступ ко всем функциям Ashampoo Uninstaller.
На странице Delete обязательно установите флажок Move deleted files to Recycle Bin — это позволит восстановить файлы в случае их ошибочного удаления.
Очень интересна функция автоматического бекапа важных файлов, включаемая на странице Backup. Как известно, одной из главных проблем Windows всегда была подмена версий системных файлов (т. н. DLL-hell) — любая программа могла записать в системный каталог устаревшую версию какой-нибудь библиотеки общего пользования, заменив исходный файл, что приводило к серьёзным сбоям в работе как самой ОС, так и других программ. Ashampoo Uninstaller способен перед каждой инсталляцией новой программы, одновременно с созданием первого снимка системы, делать резервную копию выбранных пользователем папок, чтобы в том случае, если программа некорректно заменит какую-либо библиотеку, можно было сразу же восстановить её исходную версию из резерва. В Windows XP эта функция несколько утратила свою роль — в этой системе встроена защита системных файлов, которая не позволит удалить или подменить самые главные библиотеки, а если программа непременно требует какой-то нестандартной версии библиотеки общего пользования, то Windows XP поместит ее не в папку system32, а в WINDOWS\WinSxS, тем самым, сохранив и исходный — «правильный» — файл и работоспособность специфического приложения. Поэтому от создания бекапа в этой ОС можно отказаться — времени он занимает много. Главное — обязательно включите на вкладке Version Info режим отслеживания версий файлов — именно он позволит вам выявить все библиотеки, подменённые старыми версиями. И прочитайте соответствующий раздел в документации к программе — там очень неплохо рассказано о том, какие файлы и папки следует резервировать в каждой версии Windows.
После настроек опций программы необходимо выбрать, какие разделы реестра и какие папки она должна контролировать, — тотальная слежка совершенно ни к чему, так как существенно замедляет работу программы. Щёлкните по вкладке Selections главного окна Ashampoo Uninstaller — на странице Registry вы увидите дерево, подобное тому, что отображается в редакторе реестра, за одним исключением — возле каждого раздела, состояние которого отслеживается деинсталлятором, установлен флажок. Если пробежаться по разделам, можно обнаружить, что по умолчанию не контролируются разделы с данными, которые носят временный характер и на работу системы влияют крайне мало. Это, например, такие разделы как HKEY_LOCAL_MACHINE\ SYSTEM\ ControlSet001, в котором записаны данные предыдущей загрузки Windows, или Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Streams, в котором хранятся данные о положении окон на экране. Всё это сделано достаточно грамотно и менять здесь ничего не нужно.
В Windows XP следует обратить внимание на корневой раздел HKEY_CURRENT_USER, мониторинг которого по умолчанию отключён. Дело в том, что некоторые разделы в структуре реестра дублируются, так, HKEY_CLASSES_ROOT, который тоже не отмечен, является полной копией HKEY_LOCAL_MACHINE\ SOFTWARE\ Classes, у которого флажок присутствует. Поэтому два раза сохранять состояние одних и тех же параметров нет смысла. Совсем другое дело — HKEY_CURRENT_USER. Этот раздел тоже является дублем, но сохраняется в виде раздела типа HKEY_USERS\S-1-5-21-448539723-746137067-839522222-1003, соответствующего текущему пользователю. В результате чего под разными учётными записями мы получаем сохранение раздела с пользовательскими данными под совершенно разными именами и теряем возможность сравнить пользовательские настройки, например, Администратора и Гостя. Если же мы включим сканирование HKEY_CURRENT_USER, то, сделав его снимок из-под разных аккаунтов, сможем очень легко сравнивать пользовательские параметры в реестре между разными учётными записями, что очень важно при поиске причин сбоев — позволяет, например, выяснить, какие параметры различаются в настройках работоспособного аккаунта и в настройках «заглючившего». Поэтому с двойным сохранением раздела HKEY_CURRENT_USER необходимо согласиться (как и с предупреждением об этом, которое станет появляться при каждом сканировании системы) и отметить его флажком. А чтобы в этом разделе не контролировать временные параметры, снимите флажки как минимум напротив подразделов:
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ ComDlg32
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ RecentDocs
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Streams
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ StreamMRU
На вкладке Drivers нам предлагается отметить папки и диски, содержимое которых будет отслеживать Ashampoo Uninstaller. Для полного контроля за устанавливаемыми программами вполне достаточно мониторинга за каталогами Windows и Program Files — во все остальные папки программы обычно ничего не записывают. Если же какая-то из них неожиданно создаст новую директорию или файл в корне диска, то деинсталлятор это обнаружит. По умолчанию из списка сканируемых исключены несколько директорий, в которых хранятся часто изменяемые или временные файлы — это, в частности, папка самого Ashampoo Uninstaller, а также WINDOWS\system32\config, в которой хранятся файлы реестра. С этим надо согласиться — смысла в их мониторинге нет никакого. Впрочем, если вы хотите максимального контроля за системой, то можно включить ещё мониторинг всех каталогов Application Data внутри папки C:\Documents and Settings — приложения активно используют их для хранения пользовательских данных (в основном — временных).
На странице System Files включается контроль за четырьмя системными файлами, актуальность которых в Windows XP стремится к нулю, и, возможно, за всё время работы с программой вы так и не обнаружите ни одного изменения в них. Тем не менее, мониторинг этих файлов не отключайте.
Комментарии (0)