Разработка инсталляторов. Урок 11. Advanced Installer: Дополнительные пакеты, хранение файлов на сервере, их загрузка и распаковка.
Привет, друзья. Прошли выходные и я снова возвращаюсь к теме по разработке установочных пакетов в программе Advanced Installer. Итак, начнём.
1. Дополнительные пакеты.
Когда нам может потребоваться установка дополнительных пакетов? Варианты могут быть разные. Например, вы создаёте игру, а для неё потребуется наличие в ОС Microsoft Visual C++ и/или Nvidia PhysX. Или распространяете программу, написанную на Java и требуется установка Java в систему. Данные пакеты можно включить в установочный пакет и, при его запуске, он сам проверит наличие данных компонетов в системе. А если не найдёт, то установит. Сценариев использования достаточно много. Запускаем наш проект и переходим на вкладку дополнительные условия.
Тут мы можем выбрать пакет. Допустим, нам требуется установить Nvidia PhysX до основной установки вашей программы. Выбираем в списке Microsoft Nvidia PhysX. Программа запросит подтверждение на загрузку, соглашаемся и ждём окончания загрузки пакета. Если мы откажемся, то кмопонет появится в списке всё равно. Просто потребуется указать для него файл вручную.
Пакет загрузился. Можно также его перетащить на этап предварительной установки, если требуется.
В свойствах проекта можно настроить загрузку с сайта или включить в ваш пакет. А также запуск на определённых ОС. Выбирайте что требуется. Также там настраивается проверка установки этого компонента в ОС.
Теперь идёт в "Диалоговые окна", где мы уже не раз бывали.
Как видим, у нас добавились два диалоговых окна, одно из них представляет собой окно, которое предложит установить компонеты, а второе отобразит список этих компонентов. Текст в окнах, названия и элементы вы также можете редактировать по вашему желанию, как и любое другое диалоговое окно.
Давайте соберём проект и посмотрим, что у нас получилось.
Так как PhysX у меня не установлен, то требуется установка. Всё работает. Таким образом можно также устанавливать наборы компонентов Windows.
Аналогично можно сделать на основе функции. То есть мы не будем переносить пакет в предварительную установку, а оставим его в функциях. Теперь опять идём в "Диалоговые окна". Этапов предварительной установки у нас не добавилось. Добавляем новый диалог или, например, в диалог выбора папки установки добавляем флажок или переключатель, как делали в прошлом уроке. Например, флажок:
Идём в организацию продукта и в условиях появившейся новой функции прописываем наш флажок.
После сборки получаем:
С переключателями поступаем аналогично. Условие пишем также в функцию.
2. Загрузка файлов и архивов из сети интернет.
Для чего это может потеребоваться? Например, некоторые файлы для установки будут храниться на вашем сервере. Вы можете их иногда обновлять, а установочный пакет трогать при этом не нужно. Может потребоваться, например, для установки необходимых кодеков, шаблонов, дополнительных библиотек и т.п. Достаточно удобно, на мой взгляд.
Давайте приступим.
Откроем наш проект Program. Я заранее загрузил на свой сервер два файла - это шаблоны в архиве (Templates.zip) и библиотеку 2057rbn.dll и удалил их из проекта. Заходим в файлы и папки и выбираем "Новая операция с файлами" - > "Загрузка файла".
Добавляем ссылку на файл и его название в проекте. Можно прописать условие, например NOT Installed (Если не установлен), но можно и обойтись.
После этого переходим к загрузке и распаковке архива с шаблонами. Шаблоны у нас храняться в папке с докаментами/Program (см. прошлые уроки). Также прописываем путь в сети, где хранится архив.
Архив, как мы понимаем, сам у нас не распакуется. Так что выделяем архив, через контекстное меню выбираем новую операцию с файлами -> Распаковать архив.
В окне распаковки выбираем необходимые действия.
В окнах можно прописать условия для выполнения, например на флажки или переключатели, как делали выше. А можно оставить как есть. В зависимости от установленной темы оформления установщика вы будете видеть процесс загрузки файлов. В используемой нами теме "Весна" этого нет, к сожалению. Но результат работы всё равно есть. Как видим после установки программы шаблоны и файлы в наличии.
На этом на сегодня всё. Спасибо за внимание и за поддержку. До завтра.