Теория:

Каждый день ты пользуешься десятками программ: от браузера и мессенджеров до игр и офисных пакетов. Но задумывался ли ты, что на самом деле происходит в тот момент, когда ты устанавливаешь новое приложение?
 
Инсталляция (установка) — это не просто копирование файлов в папку. Это сложный процесс интеграции нового программного обеспечения в уже работающую операционную систему. А деинсталляция (удаление) — это аккуратное извлечение программы с минимальными последствиями для работоспособности других приложений.
 
Установка программы
 
Исходно программа распространяется в сжатом или упакованном виде — это может быть установочный файл .exe, пакет .deb, образ .dmg или просто архив .zip. На первом этапе установщик распаковывает содержимое и раскладывает файлы по нужным каталогам.
 
Куда именно кладутся файлы? Это зависит от операционной системы и типа программы, но обычно:
  • исполняемые файлы (которые запускаются) попадают в системные директории;
  • библиотеки — в специальные хранилища общих компонентов;
  • данные пользователя — в его личную папку.
Просто положить файлы недостаточно. Операционная система должна узнать, что новая программа появилась. Это называется регистрацией. В зависимости от ОС, этот процесс может включать:
  • создание записей в реестре или базе данных пакетов;
  • добавление ярлыков в меню;
  • регистрацию ассоциаций файлов (чтобы фото открывались именно в твоём новом редакторе, а не в старом).
Современные программы редко пишутся с нуля. Обычно они используют готовые библиотеки и компоненты, которые уже есть в системе или требуют установки.
 
Например:
  • игре может понадобиться определённая версия графической библиотеки;
  • программе для работы с PDF — общие компоненты рендеринга;
  • офисному пакету — набор шрифтов.
Грамотный установщик проверяет наличие всех необходимых компонентов и, если чего-то не хватает, предлагает доустановить.
 
Многие программы на этапе установки задают вопросы:
  • В какую папку установить?
  • Создавать ли ярлык на рабочем столе?
  • Открывать ли файлы этого типа твоей новой программой?
  • Принимаешь ли ты условия лицензионного соглашения?
Также могут создаваться пустые файлы конфигураций с настройками «по умолчанию», которые потом будет заполнять сам пользователь.
 
В мобильных ОС и современных десктопах установка происходит через централизованные каталоги. Это самый безопасный способ: магазин проверяет программы на вирусы, а система получает автоматические обновления.
 
Удаление программ
 
Когда ты просто стираешь папку с программой, в системе остаются:
  • записи в реестре или базе данных пакетов;
  • общие библиотеки, которые могли использоваться другими программами;
  • файлы конфигурации в системных папках;
  • ассоциации файлов, ведущие в никуда;
  • ярлыки, которые ссылаются на несуществующий файл.
Все это — цифровой мусор, который замедляет систему и может вызывать ошибки.
 
Грамотное удаление программы (через официальный деинсталлятор или менеджер пакетов) включает:
  • остановку работающих процессов программы, чтобы они не мешали удалению;
  • удаление файлов программы из всех каталогов, куда они были установлены;
  • очистку системных записей — удаление информации о программе из реестра или базы пакетов;
  • удаление зависимостей — проверка, не остались ли библиотеки, которые больше никому не нужны;
  • сброс ассоциаций файлов — чтобы файлы перестали пытаться открываться удалённой программой.
Разные ОС — разная философия: где-то ты ищешь файлы на сайтах, а где-то система сама знает, где взять программу, и просто качает её из проверенного источника.