Для установки приложения на новый компьютер в настоящее время существует два основных подхода:
- Отдельный установщик: создайте отдельный установочный пакет
который создает все каталоги, файлы,
записи реестра, необходимые для вашего
приложение (т.е. MSI, InstallSheild и т. д.), а затем, наконец, копирует ваше приложение на целевой компьютер.
- Самостоятельная установка: включите все необходимые
шаги установки в компоненте
это часть вашего заявления. Затем используйте этот компонент для проверки и создания необходимых настроек при каждом запуске исполняемого файла основного приложения. т.е. просто запустите приложение для установки.
Я использовал несколько приложений, которые со временем повредили свои настройки, и у большинства из них был отдельный установщик. Поэтому единственное исправление - переустановка, иногда с потерями настроек и даже данных (очень неприятно).
Кроме того, во время программных проектов, над которыми я работал, отдельный подход к установщику часто диктовал распространение знаний, специфичных для приложения, как в пакете установщика, так и в реальном приложении. Затем, когда были внесены изменения в код / функциональность, нужно было обновить и программу установки, и приложение. Это всегда казалось слишком хрупким и склонным к человеческим ошибкам.
Так что в настоящее время я склоняюсь к подходу самоинсталлятора из-за более простой и надежной установки / настройки, то есть просто запуска приложения. Я полагаю, что этот самоустанавливающийся подход подойдет и для более надежного приложения.
Интеграция с настройками (параметрами) приложения также была бы намного более чистой, во многих случаях один и тот же компонент мог выполнять как установку, так и управление настройками.
С другой стороны, выполнение этих дополнительных проверок / шагов при каждом запуске приложения может отрицательно повлиять на время запуска, а интеграция с ОС может потребовать немного больше усилий, чем при использовании стандартного установщика.
Так какой подход к людям рекомендуется и почему?
(в настоящее время меня больше всего интересует установка приложений для настольных клиентов).