Подтвердить что ты не робот

Что делает стандартная "установка" на самом деле?

Я просто программист-любитель более или менее и вырос в кодировании в мире .NET ClickOnce.

Когда одна "устанавливает" программу, что на самом деле происходит?!

Также: некоторые небольшие приложения/инструменты просто запускаются из exe. Почему большинству программ нужен причудливый процесс установки? Каковы преимущества, недостатки, плюсы и минусы? Является ли установка обычно необходимой или более похожей на стандартную практику?

Извините за дополнительные вопросы. Я просто надеюсь, что объяснение ключевых факторов объясняется простым или менее простым языком.

4b9b3361

Ответ 1

Вы действительно изучаете множество унаследованных причин, которые все превратились в стандартную практику в мире Windows.

Во-первых, какой-то контраст, потому что это не всегда так. "Приложение" в Mac OS X - это просто каталог с определенной структурой внутри него, названный с расширением .app. Установка приложения так же просто, как перетащить его (только значок приложения) в папку "Приложения", а удаление связано с перетаскиванием его в корзину. Что это, никакой причудливый установщик (обычно) необходимо.

В Windows приложение обычно создается из независимых компонентов, которые должны быть "зарегистрированы". Это включает в себя программу установки, записывающую некоторые бит и куски в реестр Windows, чтобы сообщить Windows, где найти компоненты. Да, приложение, вероятно, должно знать, где их найти (так как все они установлены в одном месте), но годы наследия и различные способы подключения компонентов получили нас там, где мы находимся сегодня.

Обычно программа установки в Windows:

  • копии файлов
  • регистрирует компоненты
  • устанавливает разрешения безопасности (при необходимости)
  • добавляет значки в меню "Пуск" и/или на рабочем столе
  • записывает больше информации в реестр, чтобы сообщить Windows о добавлении программы в "Установка и удаление программ"

Ответ 2

Программа пытается изменить компьютер таким образом, чтобы он работал, и все конкурирующие продукты терпят неудачу. В Windows это означает:

  • Изменение произвольных ключей в реестре до тех пор, пока оно не станет медленным и не будет исчерпано.
  • Замена DLL с помощью одной древней версии, которую может использовать ваше программное обеспечение
  • Распространение как можно большего количества файлов
  • Создание деинсталляции script для поддержки иллюзии, что пользователь может избавиться от программного обеспечения без переустановки ОС. В маловероятном случае, когда пользователь пытается запустить этот script, вы можете воспитывать его/ее, чтобы он никогда не делал этого снова с такими вопросами, как "Файл.... может использоваться другими приложениями. Вы действительно хотите удалить это? Да/Нет/Возможно/Любой ответ/Все ответы верны"
  • Установка крючков в неясных местах, чтобы ваше программное обеспечение запускалось при загрузке компьютера. Это может замедлить процесс загрузки, но ваше программное обеспечение запустится мгновенно, поэтому вам будет заплачена небольшая цена... для вас.
  • Выполнение неясных вещей, которые занимают много времени, но никто не может сказать, что вы делаете (что делает "Установка готовит установку" делать в течение 15 минут?)
  • Проверка наличия достаточного дискового пространства, но используйте 32-битные целые числа, чтобы убедиться, что он не может быть установлен на 1TB-диски.
  • Важной задачей является сбой при установке и печать ошибки: "Ошибка установки. Возможно, это связано с тем, что установлено антивирусное программное обеспечение. Деактивируйте его и повторите попытку". Это позволит убедиться, что пользователи начнут недоверять своему антивирусу (особенно когда установка будет успешной во время второго запуска, поскольку неясные ошибки в установщике не были запущены), и многие из них забудут снова включить сканер вирусов или даже удалите проклятую вещь.

    Вирусные авторы во всем мире тоже люди! Спам составляет большую часть трафика в Интернете, что должно означать, что это важно и кто не хочет быть частью крупнейшего сообщества на земле? Кроме того, вы можете сделать большие деньги таким образом. Все, что вам нужно, это слабая совесть и/или некоторая криминальная энергия.

  • Очень важной частью вашего установщика является увеличение раздела реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-7-9-23-64738-1349283462-3754093625-4491\IsYourWindowWideEnough\NotGivenUpYetHuh\GoAway\ImportantSystemInformation\Let See How You Can Handle Spaces\DamnIGottaStopSincePathsCanHaveOnl\ReinstalCtr

    Этот важный системный счетчик поможет создать иллюзию нестабильности для пользователя, пока не почувствует сильное желание переустановить всю систему. Это поможет профессиональной ИТ-индустрии продавать часы поддержки, продавать новые компьютеры, больше ОЗУ, большие жесткие диски или новые версии Windows (они должны быть лучше, правда?).

Примечание. Если вы серьезно относитесь к этому тексту, обратитесь за профессиональной помощью.

Ответ 3

Причины использования "причудливого" процесса установки

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

"Стандартная" опция для большинства установок будет "все требуемые биты в стандартном расположении, такие как Program Files", без каких-либо настроек, возможно, без каких-либо функций экспертного уровня.

Ответ 4

Зависит от программы, которую вы устанавливаете. "Установка" может варьироваться от простого копирования (относительно небольшого) исполняемого файла в каталог, для настройки разделяемых библиотек, выполнения проверок на уровне патчей (я сконструирован для запуска на SP2 или выше - у меня есть SP2 или выше?) И изменения конфигурации системы, как для текущего пользователя, так и для всех пользователей. Большинство из них также регистрируют установку с помощью диспетчера пакетов, чтобы вы могли легко удалить ее позже.

Ответ 5

Википедия сообщает нам, что типичный установщик создает или изменяет следующее:

  • Общие и не общие файлы программ
  • Папки/каталоги
  • Записи реестра Windows (только для Windows)
  • Записи файла конфигурации
  • Переменные среды
  • Ссылки или ярлыки

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

Ответ 6

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

Этот интерфейс может быть графическим или основан на тексте, который выводится в командной строке, такой как оболочка unix (например, bash). В случае графических инсталляторов чаще всего используется так называемая установка-bootstrapper, в последнем случае - скрипты установки, которые могут быть bash -cripts, командные сценарии Microsoft или другие языки скриптов, которые работают в командной строке.

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

Для сложного программного обеспечения могут потребоваться целые программные платформы и тесная интеграция с базовой инфраструктурой операционной системы, например, для обеспечения соблюдения авторских прав на программный продукт. p >

Многие установщики в Windows предоставляют флаг /e или /extract. например setup.exe /e, чтобы разрешить извлечение содержимого архива без установки установщиком script. Мне недавно нужно было сделать что.

Сдвиги в Mindset

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

(Я не знаю, сколько всего времени я потратил на установщиков, но это определенно на порядок дней.)

Задачи, которые может выполнить установщик:

  • распаковка (часто с использованием экзотических архиваторов с высоким сжатием)
  • обеспечение требований к системному оборудованию
  • обеспечение достаточного пространства на жестком диске
  • обеспечение требований к времени выполнения программной платформы (например, "перераспределяемые ресурсы" )
  • проверка новых обновлений программного обеспечения
  • загрузка программного обеспечения из удаленного репозитория
  • создание и/или обновление программных файлов и папок
  • создавать файлы конфигурации, записи реестра или переменные окружения
  • установить драйверы программного обеспечения, установить или отключить устройства.
  • увеличить доступность для повседневных пользователей, объясняя шаги установки, создавая ссылки, ярлыки
  • продвигать собственное программное обеспечение через закладки и т.д.
  • создайте стимул для пользователя фактически запустить программное обеспечение, представив ключевые точки программного обеспечения во время установки, слайд слайдом
  • создать дополнительный доход с помощью комплектации программного обеспечения
  • настроить модули ядра и автоматически запускаемые компоненты (например, демоны, службы windows)
  • автоматическое исправление программного обеспечения
  • настройка папки, прав доступа к файлам и пользователям
  • создание ссылок UUID для подключения программного обеспечения к экземпляру установки и предотвращения переносимости

PS: Если вы можете думать о других моментах, дайте мне знать, и я включу их.