Автономная программа не имеет внешних зависимостей.
Это не должен быть только файл .exe, он может иметь сопутствующие библиотеки и файлы данных: распаковать архив в папку и запустить исполняемый файл. Если вы просто распаковываете архив, в меню «Пуск» ярлык не добавляется, поэтому вам придется перейти к папке, в которой находится распакованное приложение, и запустить его оттуда, либо вручную создать ярлык для него в меню «Пуск». Многим пользователям компьютеров это сложно.
Проще в использовании
Установщик помогает пользователям в процессе установки. Вы загружаете установщик .exe или .msi (первый вариант предпочтителен для неопытных пользователей) и запускаете его. Он выбирает установочную папку, обычно в Program Files
, копирует файлы, создает ярлык в меню «Пуск». Вы сделали: в большинстве случаев вы просто нажимаете Next несколько раз.
Затем перейдите в меню «Пуск» и запустите приложение. Некоторые установщики предоставляют возможность запуска приложения после завершения установки.
Если приложение открывает файлы или документы определенного типа, программа установки регистрирует их в оболочке. Так что вы можете нажать на файл, чтобы открыть его.
Лицензионное соглашение
Многие приложения, как коммерческие, так и бесплатные, требуют, чтобы вы приняли лицензионное соглашение, прежде чем сможете использовать их. Установка не будет продолжена, пока вы не подтвердите свое согласие с условиями лицензии. Даже если вы не читали лицензию, вы согласились на это.
зависимости
Иногда недостаточно просто скопировать исполняемые файлы. Приложения часто используют общие компоненты или специальные библиотеки времени выполнения. Например, среда выполнения .Net должна быть установлена для запуска приложения, написанного для .Net; даже среда выполнения Visual C++, если она не является статически связанной, должна быть установлена. Установщик позаботится о том, чтобы все зависимости были удовлетворены.
Если приложение состоит из нескольких файлов .exe и / или .dll, динамическая привязка к среде выполнения Visual C++ уменьшает дисковое пространство. Если .exe и .dll статически связаны, то среда выполнения дублируется в каждом файле.
Условия лицензии библиотеки могут не разрешать статические ссылки.
Безопасность
Если во время выполнения обнаружена уязвимость, ее можно обновить отдельно от приложения. Обновления среды выполнения .Net и Visual C++ устанавливаются автоматически через Центр обновления Windows.
Если исполняемые файлы и библиотеки статически связаны, то поставщик приложения должен перекомпилировать приложение и выпустить обновленную версию. Таким образом, использование общей среды выполнения снижает стоимость обслуживания приложений для разработчиков и поставщиков.
Установка в Program Files
также обеспечивает более безопасную среду: файлы там не могут быть изменены или удалены без прав администратора.
реестр
Многие приложения Windows полагаются на записи в реестре. Если приложение использует COM, все объекты должны быть зарегистрированы, иначе приложение не сможет создать нужный объект и не запустится.