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