19

Расширение на Как удалить остаточные следы удаленного программного обеспечения из реестра? - каждый раз, когда я удаляю программу, а потом просматриваю ее через RegEdit, она все еще там!

Почему большинство приложений Windows так стремятся оставить крошечные следы себя в реестре? Это вина Windows или разработчиков?

3 ответа3

30

Потому что это невозможно.

В реестре есть несколько корневых узлов, но только два интересных: LocalMachine и CurrentUser. Как правило, программа установки записывает значения в LocalMachine, а запущенная программа записывает ТОЛЬКО в CurrentUser (на самом деле, если программа не перепутана с разрешениями, запущенная программа не может записывать в LocalMachine.)

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

Что делать деинсталлятору, если программа установлена на компьютер (а это большинство) и ее используют несколько пользователей? Он может безопасно удалить пользовательские настройки текущей учетной записи, но текущая учетная запись может не являться вашей учетной записью. (Это происходит, если вы запустили деинсталлятор из учетной записи не администратора, а затем ввели учетные данные учетной записи администратора - установка теперь выполняется под этой учетной записью, а не первой).

А как насчет других пользователей? Он может попытаться перечислить всех пользователей, но их ключи реестра могут быть не загружены. (Windows ленива и загружает только то, что ей нужно.)

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

Терминальный сервер - это, по сути, один компьютер с Windows, на котором несколько пользователей одновременно входят в систему и используют приложения.

Допустим, у вас есть два терминальных сервера, на которых запущено одно приложение. Вы удаляете приложение на TS1, теперь все настройки для всех пользователей ушли на TS2, потому что у вас есть перемещаемые профили. упс.

То же самое относится и к файлам в пользовательских каталогах.

При настройке программы моей компании я удаляю данные для каждого компьютера, но не затрагиваю данные для каждого пользователя, даже для пользователя, который в данный момент запускает установку.

18

Есть много причин, почему это так, но это не вина Microsoft или операционных систем Windows.

Ниже приведен список некоторых случаев и причин оставления записей реестра:

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

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

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

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

0

Чтобы избавиться от оставшегося реестра, попробуйте использовать деинсталлятор IOBIT.На сегодняшний день это лучший деинсталлятор.Кроме того, это бесплатно ..Я постоянно использую это..Он имеет мощную функцию удаления, которая идет прямо туда, где находится оставшийся ключ реестра, ставит флажок в поле при появлении запроса и удаляет ключи реестра. Iobit поставляется с другими программами, просто используйте деинсталлятор, чтобы избавиться от них

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