1

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

РЕДАКТИРОВАТЬ # 1: Я видел это, но я хочу знать для всех программ, а не только .msi .

2 ответа2

1

Расположение информации об удалении может отличаться в зависимости от программы. Для некоторых программ, например, тех, которые вы видите в разделе "Удаление или изменение программы", если вы пытаетесь удалить программу через панель управления, вы можете найти программу, которая удалит программное обеспечение, в разделе реестра Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall или HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall . Некоторые могут находиться в одном из этих мест в реестре, в то время как другие могут находиться в другом месте реестра.

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

1

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

Большинство поставщиков программного обеспечения упаковывают свое программное обеспечение в сторонние программы установки, наиболее распространенными из которых являются InstallShield (Flexera Software) или Microsoft Windows Installer (.msi). Эти установочные продукты позволяют поставщикам программного обеспечения определять таблицы, которые содержат все файлы и параметры reg в полезной нагрузке и куда они идут. Они также предоставляют язык сценариев, который поставщики могут использовать для принятия решений в процессе установки.

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

Именно по этой причине деинсталляторы настолько небрежны и поэтому практически невозможно полностью удалить приложение, когда тот поставщик просто ленился думать о таких вещах (или, что еще хуже, в случае с программным обеспечением, не желающим, чтобы вы удаляли их приложение),

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