Установщик абстрагирует процесс развертывания сложных частей программной инфраструктуры , которая обычно содержится в архиве, через удобный, самодостаточный пользовательский интерфейс .
Этот пользовательский интерфейс может быть графическим или основываться на тексте, который выводится в командной строке, такой как оболочка Unix (например, bash). В случае графических установщиков чаще всего используется так называемый установочный загрузчик, в последнем случае это установочные сценарии, которые могут быть bash-сценариями, пакетными сценариями Microsoft или любым другим языком сценариев, который запускается из командной строки.
В простейшем случае приложение - это просто исполняемый файл, , при котором операционная система знает, что делать с файлом для его запуска. Файл приложения может находиться в папке с подпапками и другими вспомогательными файлами, упакованными в один архив . В этом случае установщик может не потребоваться.
Для сложного программного обеспечения могут потребоваться целые программные платформы и тесная интеграция с базовой инфраструктурой операционной системы , например, для обеспечения защиты авторских прав на программный продукт.
Многие установщики в Windows предоставляют флаг /e
или /extract
. например setup.exe /e
, чтобы разрешить извлечение содержимого архива без установщика, запускающего скрипт установки.
Недавно мне нужно было просто сделать , что .
Сдвиги в мышлении
Установщики почти стали нормой для предоставления профессионального программного обеспечения, независимо от того, насколько просты базовые программные активы. С ростом числа пользователей, разбирающихся в компьютерах, и желанием переносить свои приложения с одного рабочего стола на другой, портативное программное обеспечение , часто поставляемое в виде простого архива, становится все более популярным.
(я не знаю, сколько всего времени я потратил на установщиков, но это определенно порядка нескольких дней.)
Задачи, которые может выполнить установщик:
- распаковка (часто с использованием экзотических архиваторов с высокой степенью сжатия)
- обеспечение требований к оборудованию системы
- обеспечение достаточного места на жестком диске
- обеспечение требований времени выполнения программной платформы (например, «распространяемые»)
- проверка обновлений программного обеспечения
- загрузка программного обеспечения из удаленного хранилища
- создание и / или обновление программных файлов и папок
- создавать файлы конфигурации, записи реестра или переменные среды
- установка драйверов программного обеспечения, монтирование или размонтирование устройств
- повысить доступность для обычных пользователей, объясняя шаги установки, создавая ссылки, ярлыки
- продвигать собственное программное обеспечение через закладки и т. Д. *
- создает стимул для пользователя для фактического запуска программного обеспечения, представляя ключевые точки программного обеспечения во время установки, слайд за слайдом
- создание дополнительного дохода за счет программного обеспечения
- настройка модулей ядра и автоматически запускаемых компонентов (например, демонов, windows-сервисов)
- автоматическое исправление программного обеспечения
- настройка папки, файла и прав доступа пользователя
- создание ссылок UUID для связи программного обеспечения с экземпляром установки и предотвращения переносимости
PS: Если вы можете вспомнить другие моменты, дайте мне знать, и я включу их.