easy

Что происходит, когда мы устанавливаем программу на комп

Заглядываем под капот установщиков

Это текст про то, как работают компьютеры. Никакой сиюминутной практической ценности, просто расширение кругозора. Будете ходить и унижать всех своим кругозором. 

Когда мы устанавливаем новую программу на компьютер или телефон, чаще всего это происходит так:

  1. Мы запускаем установщик программы.
  2. Он что-то там делает и иногда спрашивает у нас всякое ← про это мы и будем рассказывать.
  3. В конце сообщает, что программа готова к работе. Часто она действительно готова. 

Иногда программу можно запустить и без установки, про это тоже поговорим.

Что такое установщик и что он делает

Для работы программы ей чаще всего нужны дополнительные библиотеки, драйверы, базы данных, компоненты или просто внутренние служебные файлы. Всё это нужно разложить по разным местам в операционной системе: драйверы к драйверам, библиотеки к библиотекам, создать новые папки для служебных файлов. Чтобы всё это оказалось в правильных местах, нужно составить список, что куда копировать и в каком порядке.

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

Иногда части программы нужно скачать из интернета (или даже всю программу целиком). Например, когда вы скачиваете установщик «Фотошопа» последней версии, на самом деле вы скачиваете скачивальщик. И уже скачивальщик скачивает «Фотошоп» и устанавливает его куда нужно. 

Получается, что для установки программы нужно:

  • скачать недостающее;
  • создать новые папки;
  • скопировать файлы;
  • зарегистрировать файлы, чтобы компьютер мог ими пользоваться;
  • обновить настройку системы.

Чтобы всё это сделать, нужна отдельная программа, которая возьмёт это на себя, — это и есть установщик. 

Как сделать установщик

Установщик можно написать с нуля на любом языке под нужную вам платформу. Но так делают редко. 

Чаще разработчики используют один из общепринятых установщиков: там нужно прописать нужные параметры, положить внутрь нужные файлы, и дальше установщик сделает нужную работу сам. 

Из популярных решений автоматических установщиков вы наверняка помните InstallShield или Wise. А так их два-три десятка

Автоматические установщики возможны благодаря тому, что для установки программ нужны примерно одни и те же действия: копирование файлов, создание ярлыков, работа с реестром и библиотеками. Для чего-то, что требует более глубокой работы с системой, потребуются более сложные решения.

Что происходит, когда мы устанавливаем программу на комп
Первый экран установщика, сделанного на InstallShield. Источник — Virtmachine.ru

Что проверяется перед установкой программы

Задача установщика — проверить все доступные ему параметры компьютера и убедиться, что они соответствуют требованиям программы.

Тип процессора — если программа написана для ARM-процессоров, а на компьютере стоит x86, то программа просто не запустится. 

Архитектура — некоторые производители софта делают только 64-битные версии своих приложений. Это значит, что для доступа к памяти и внутренним ресурсам они используют адреса, которые состоят из 64 бит. Но если на компьютере стоит 32-битная операционная система, то такая адресация может вызвать ошибки.

Версия операционной системы — иногда на компьютере стоит слишком старая или просто неподходящая версия, с которой программа не сможет работать. 

Свободное место — установщик заранее проверяет, что на выбранном диске достаточно места для копирования всех файлов.

Права доступа — может оказаться так, что у пользователя, в чьём аккаунте происходит установка, не хватает прав на создание папок в системных разделах.

Зависимости — в системах, где есть менеджер пакетов (например, в Linux и Mac OS), установщик проверяет, есть ли все необходимые пакеты, от которых зависит работа основной программы. Если нет — он попробует их скачать и установить.

Что происходит, когда мы устанавливаем программу на комп
Установщик программы для Windows…
Что происходит, когда мы устанавливаем программу на комп
…и Mac OS. Разные компоновщики установщика — разный интерфейс

Запуск без установки

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

Ещё есть portable-версии программ — в них все файлы и настройки собраны в одной папке. Её тоже можно скопировать куда угодно и запустить софт без полноценной установки на компьютер. 

А в Mac OS можно просто перетащить иконку мышкой, и всё будет работать

Да, но не всё так просто.

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

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

Также нужно понимать, что технически приложения MacOS — это не исполняемые файлы, а папки. Внутри этой папки лежит исполняемый файл программы и все дополнительные ресурсы. Для пользователя эта папка выглядит как единый объект, который можно запустить, но на самом деле это умный пакет файлов. 

Облачные установщики и маркетплейсы

В последние 15 лет развивается технология облачных установщиков: когда вы говорите, какой вам нужен софт, а установщик сам его скачивает и устанавливает. Примеры — Native Access, Waves Central, Steam и Adobe Creative Cloud.

По тому же принципу работают магазины приложений — App Store, Play Market, RuStore. Вы регистрируете аккаунт, привязываете к нему приложения, и они будут доступны на всех ваших устройствах. 

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

Минусы в том, что эти облачные системы часто висят в памяти, мешают установке нелицензионного софта и могут закрыть вам доступ к программам по своему желанию. Одно дело — вы поставили на компьютер «Фотошоп» и он просто работает. Другое дело — когда он при запуске звонит на сервер Adobe и просит разрешения на работу. 

Что происходит, когда мы устанавливаем программу на комп
Приложения пакета Adobe Creative Suite, которые можно установить, обновить и запустить прямо из облачного менеджера приложений

Насколько безопасны установщики?

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

Например, одно время при установке Torrent-клиента uTorrent в процессе вам ненавязчиво предлагали установить кучу другого софта, не всегда нужного. Если вы прокликали установщик не читая, то после установки у вас появлялось много неожиданного софта на компе. Хорошо, если вы могли это заметить, — а если это кто-то, кто не разбирается в компьютерах? 

Поэтому использовать установщики стоит только тех компаний, которым вы доверяете.

Апскиллинг, как говорится
Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом — senior. У «Яндекс Практикума» есть курсы ровно для этого: от алгоритмов и типов данных до модных фреймворков.
Изучить вопрос
Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy
[anycomment]
Exit mobile version