Почему нельзя полностью удалить программу обычным способом

05.02.2022|Антон Максимов

Наверняка вы слышали о программах для удаления программ, которые достаточно распространены среди продвинутых пользователей компьютеров под управлением Windows. Но далеко не все пользователи понимают разницу между ними и обычным удалением. Разработчики таких утилит заявляют, что их продукт может полностью удалить программу вместе со всеми следами. Но разве стандартный инструмент Windows не может сделать это? Почему вместо штатного способа удаления нужно прибегать к использованию каких-то сторонних программ? И насколько вообще это нужно рядовому пользователю?

Где программы хранят данные

Чтобы понять ситуацию, стоит рассмотреть типичную структуру данных программ. Наверняка вы знаете, что программные файлы в подавляющем большинстве случаях хранятся в папках Program Files и Program Files (x86). Именно туда установщик записывает все файлы, которые необходимы для запуска приложений. Иногда установка производится в папку пользователя (это может быть нужно по ряду причин, например, для автоматического обновления в фоновом режиме без оповещения пользователя, как делает тот же Google Chrome).

А еще программы часто создают в папках %AppData% и %LocalAppData% хранилища для различных рабочих файлов, которые постоянно изменяются и пополняются.

Вы прямо сейчас можете открыть Проводник, ввести в адресную строку %AppData% и %LocalAppData% (да, прямо со знаками процента) и посмотреть содержимое.

Также результаты работы могут быть записаны в папку с личными документами пользователя (Документы, Изображения, Музыка и прочее). Бывают случаи, когда сама система записывает данные программ в специальную папку внутри папки пользователя (папка Virtual Store).

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

Как работает установщик/деинсталлятор

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

В настройках установщика обычно задается, в какие папки нужно скопировать файлы из установочного пакета. Как правило, это Program Files или Program Files (x86), а также в ряде случаев копирование отдельных рабочих файлов в %AppData% и %LocalAppData%, а также создание базовых ключей в системном реестре. На этом процесс установки заканчивается, инсталлятор записывает все эти файлы и ключи в специальный файл, который потом будет использован при удалении.

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

В процессе удаления, который является по сути обратным процессом установки, деинсталлятор проходит по списку ключей и файлов, который был создан в процессе установки, и удаляет их. Все остальные элементы остаются в компьютере, так как считаются «чужими» (их нет в списке установки).

Почему остаются «хвосты»

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

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

Каждый спихивает вину друг на друга, а в результате страдают обычные пользователи — мы с вами. Именно потому штатное удаление в подавляющем большинстве случаев не обеспечивает полного удаления и приходится использовать деинсталляторы.

Нужны ли сторонние деинсталляторы лично вам?

Теперь осталось понять, насколько вообще целесообразно использовать деинсталляторы лично для вас (если вы еще не решили). И чтобы ответить на этот вопрос, надо понять, как часто вы устанавливаете/удаляете приложения, какое количество следов остается после удаления программ обычным способом, а также сколько свободного места у вас на диске.

Если на вашем носителе очень много свободного места и удаление лишних 2-10 гигабайт не сыграет никакой роли, то в принципе заморачиваться этим вопросом не стоит. Но если ваш системный диск на 120 Гб и места впритык, то деинсталляторы могут помочь, потому что 2-10 гигабайт для 120 Гб диска уже достаточно внушительный объем.

Также существуют так называемые проблемные программы. В случае возникновения ошибок или глюков можно попытаться полностью удалить приложение и установить его заново. Это сбросит все настройки на «заводские». В этом случае деинсталлятор также может помочь.

Кстати, если вы ранее удаляли большое количество программ штатными средствами, то можете удалить все следы от удаленных программ разом. Подробнее об этом я рассказывал в статье Как разом избавиться от остатков всех удаленных программ в Windows 7. Он так же работает и на Windows 10 и 11. Метод достаточно радикальный, но очень действенный. Подойдет всем, кто в течение многих лет работал с системой без переустановки и часто удаляли и устанавливали приложения штатными средствами.

Понравилась статья? Поделитесь!

Обсуждение