14 лет назад 19 октября 2004 в 23:56 75

Большинство пользователей знают о том, что установка программ приводит к появлению “мусора” на диске и в реестре Windows. Как ни странно, штатные средства деинсталляции не только не предназначены для стопроцентного удаления всего, что было привнесено в систему при установке программы, но нередко специально оставляют свои следы в ОС.

Подобное поведение стандартных деинсталляторов, идущих в комплекте с программами, вызывает проблемы у тех, кто периодически устанавливает новые условно бесплатные программы и удаляет их по истечении разрешенного срока использования или просто ввиду их неактуальности.

Во-первых, файлами и папками, оставшимися от удаленных программ, засоряется диск. Причем часто это не только скрытые в каталоге 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.

На вкладке Drives пользователю предлагается отметить папки и диски, содержимое которых будет отслеживать Ashampoo Uninstaller. Для полного контроля за устанавливаемыми программами вполне достаточно мониторинга за каталогами Windows и Program Files – во все остальные папки программы обычно ничего не записывают. Если же какая-то из них неожиданно создаст новую директорию или файл в корне диска, деинсталлятор это обнаружит.

По умолчанию из списка сканируемых исключены несколько директорий, в которых хранятся часто изменяемые или временные файлы – это, в частности, папка самого Ashampoo Uninstaller, а также WINDOWS\system32\config, в которой хранятся файлы реестра. С этим надо согласиться – смысла в их мониторинге нет никакого. Впрочем, если вы хотите получить максимальный контроль над системой, то можно включить еще мониторинг всех каталогов Application Data внутри папки C:\Documents and Settings – приложения активно используют их для хранения пользовательских данных (в основном – временных).

На странице System Files включается контроль за четырьмя системными файлами, актуальность которых в Windows XP стремится к нулю – возможно, за все время работы с программой вы так и не обнаружите в них ни одного изменения. И все же отключать мониторинг этих файлов не стоит.

РАБОТА С ПРОГРАММОЙ
Работа с Ashampoo Uninstaller, с одной стороны, довольно проста, с другой – требует неплохого понимания структуры и параметров реестра. Технология примерно такова: перед запуском инсталляции новой программы или обновления драйвера необходимо выгрузить из памяти все запущенные программы и закрыть все окна, открыть Ashampoo Uninstaller и нажать в нем кнопку Install an Application – появится окно Interactive Assistant.

При настройке программы мы уже выбрали разделы реестра и папки на диске, которые нужно отслеживать, поэтому сразу переходим на страницу Save Configuration и жмем одноименную кнопку. Запустится процесс сканирования реестра и файловой структуры, который займет несколько минут в зависимости от конфигурации системы (всплывет окно, предупреждающее, что у нас настроено дублирующее сканирование раздела HKEY_CURRENT_USER – с этим надо согласиться). Кстати, работающий антивирусный монитор может заметно тормозить сканирование.

После того как появится оповещение о завершении процесса создания первого снимка, не делая никаких настроек в Windows, не подключая новых устройств и не запуская никаких других программ, переходим на страницу Install an Application и выбираем файл инсталлятора нашего приложения. Теперь можно на некоторое время забыть об Ashampoo Uninstaller или даже закрыть его (с предложением сохранить настройки Selections, если вы их меняли, надо согласиться) и в обычном режиме установить программу.

После этого перегружаем ПК (если инсталлятор попросит) и опять-таки, не запуская никаких иных программ, загружаем только что установленное приложение. Смотрим, как оно работает и не вызывает ли сбоев, пробегаем по его опциям и настраиваем важные параметры (если вместе с ним ставится несколько компонентов, как, например, в Nero Burning ROM, желательно проверить и настроить каждый из них).

Далее закрываем установленную программу и запускаем Ashampoo Uninstaller. В Interactive Assistant переходим сразу на страницу Create Log File и запускаем процесс создания второго снимка системы, по окончании которого, как уже говорилось, автоматически стартует сравнение двух снимков и создание разностного лог-файла. Используя его, вы в любой момент сможете удалить эту программу, полностью вычистив ее следы из своей системы.

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

Потом снова запускаем Ashampoo Uninstaller, выбираем в окне Suite Screen или на панели инструментов Uninstall an Application, загружаем соответствующий лог-файл и на странице Restore previous configuration жмем кнопку Automatic Uninstallation. Все. От программы не осталось ни одного файла и ни одной записи в реестре (в том числе и “триальных” меток, так что shareware-программу с закончившимся испытательным сроком можно установить повторно). При этом из системы вычищаются именно изменения, внесенные программой, и всем параметрам реестра присваиваются значения, которые были до ее установки.

Несколько сложнее продвинутый режим полуавтоматического удаления программы. Этот режим позволяет пользователю самому просмотреть все, что изменилось на диске и в реестре, и удалить только то, что он сам сочтет нужным. Во время инсталляции программ Windows живет своей жизнью, и ее фоновые процессы тоже могут вносить изменения в реестр, которые затем зафиксируются в лог-файле. Задача пользователя – отделить то, что связано с инсталляцией программы, и “откатить” только эти ключи в реестре, не затронув системные.

Скажем, при установке ACDSee можно увидеть, что наряду с появлением в реестре нового раздела HKEY_CURRENT_USER\Software\ACD Systems и множества файловых ассоциаций в HKEY_LOCAL_MACHINE\SOFTWARE\Classes, меняются и параметры в HKEY_CURRENT_USER\Software\Microsoft. Ясно, что к последнему разделу реестра ACDSee не имеет никакого отношения – это обычная рутина виндовых процессов. Откат этих изменений не имеет смысла и, по сути, разрушает какие-то (пусть временные и не очень важные) результаты текущей работы операционной системы.

ПРОФИЛАКТИКА СБОЕВ
Ashampoo Uninstaller ценен не только тем, что позволяет полностью вычистить из системы следы любой программы. Возможности этого деинсталлятора позволяют вовремя предотвратить появление сбоев Windows, связанных с подменой или удалением системных файлов или внесением в реестр некорректных параметров. Пользователь сразу же после установки новой программы может во всех подробностях ознакомиться с полученным лог-файлом и увидеть все внесенные ею изменения. Форма этого отчета удобна и наглядна: он состоит из трех вкладок: для изменений в реестре, на диске и в конфигурационных файлах.

Структура каждой вкладки напоминает дерево папок “Проводника” или редактора реестра. Просмотрев все изменения, произошедшие в течение инсталляции, вы всего двумя щелчками мыши вернете любой параметр или группу параметров в реестре и конфигурационных файлах в исходное состояние. Если, например, вы обнаружите, что QuickTime “переписал на себя” типы файлов aif, aiff, aifc, то для того чтобы вернуть их в исходное состояние (то есть в ведомство Windows Media Player), достаточно на вкладке Registry Changes выбрать в левом окне нужную ветвь реестра, щелкнуть по ней правой кнопкой мыши и в контекстном меню выбрать пункт Restore Changes – нежелательные изменения будут отменены.

Точно так же отменяются и изменения отдельного параметра – для этого надо в правом окне деинсталлятора щелкнуть на нем правой кнопкой мыши. При этом особое внимание надо уделять веткам, предназначенным для хранения настроек Windows, таким как HKEY_CURRENT_USER\Software\Microsoft и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft, а также HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet. Некорректные изменения именно в этих разделах могут привести к серьезным сбоям ОС.

Еще один способ поддержания работоспособности системы заключается в следующем. Периодически, например раз в месяц, делайте снимок текущей конфигурации (Uninstaller > Save current configuration as) и сравнивайте его со сделанным в прошлом месяце. Так вы сможете отслеживать все, что происходит в системе (как известно, троянские вирусы и всевозможное spyware инсталлируются без ведома пользователя и потому проводить мониторинг их инсталляции затруднительно), и получите возможность вернуть назад значение любого параметра в реестре или удалить непонятно откуда появившиеся новые файлы. Если же вдруг система засбоит, создайте очередной снимок и сравните его с одним из предыдущих, сделанных в то время, когда сбоя не наблюдалось – картина изменений даст шанс определить причину сбоя или отменить все изменения.

Разумеется, это далеко не все возможности деинсталлятора. Ashampoo Uninstaller, в частности, позволяет проводить инкрементное сканирование при установке сразу нескольких программ. При этом значительно сокращается время работы программы, так как последний снимок системы, сделанный при установке первой программы, становится первым снимком при установке второй. Умеет программа и удалять с диска временные файлы, подчищать следы вашей деятельности в интернете, находить одинаковые файлы и пустые папки. Предусмотрен даже экспорт устанавливаемых программ или их настроек на другой компьютер в виде некоего подобия инсталляционных файлов. Так что вопрос о том, использовать Ashampoo Uninstaller или нет, отпадает сам собой.

Главные правила

Первой программой, которую вы устанавливаете на ПК, должен быть Ashampoo Uninstaller. Инсталлировать все драйверы и прикладные программы следует только после его установки.
Установив Ashampoo Uninstaller, сделайте снимок текущей конфигурации (Uninstaller > Save current configuration as…, назовите его, например, “свежеустановленная ОС”) – это будет “чистая” Windows, с которой вы сможете сравнить состояние ОС в любой момент (Uninstaller > Compare Two configurations) и выявить все изменения, произошедшие за это время в реестре и на диске.

Контролируйте установку каждой программы и каждого драйвера, независимо от того, новая это программа или просто обновление версии. В идеале следует контролировать даже все посещения Windows Update и установку новых патчей.

Второй снимок системы делайте только после того, как вы запустите установленную программу, настроите ее параметры и закроете. Дело в том, что многие программы записывают данные в реестр не только при инсталляции, но и при первом запуске (а некоторые разработчики shareware, борясь с деинсталляторами, прописывают метку в реестр не при установке, а во время одного из запусков программы, причем не обязательно первого).

Проводите мониторинг не только установки программ и драйверов, но даже настройки системы с помощью твикеров – легче будет вернуться к конфигурации по умолчанию. Чем раньше вы удалите приложение, ставшее причиной сбоев или просто не нужное, тем меньше вероятность возникновения “глюков”. Дело в том, что несколько программ могут одновременно использовать одни и те же параметры в реестре и одни и те же библиотеки общего пользования. Но поскольку их инсталлирует самая первая из таких программ, последующим приложениям просто не нужно повторно записывать то, что уже и так записано в реестр и на диск.

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

Если Ashampoo Uninstaller вдруг стал “вылетать” с сообщениями об ошибке, попробуйте его переустановить – помогает. Не гонитесь за самой последней версией деинсталлятора – 1.3.1.0 вполне достаточно.