GOLOS
RU
EN
UA
zaguzin
3 года назад

Разработка инсталляторов. Урок 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 (см. прошлые уроки). Также прописываем путь в сети, где хранится архив.

Архив, как мы понимаем, сам у нас не распакуется. Так что выделяем архив, через контекстное меню выбираем новую операцию с файлами -> Распаковать архив.

В окне распаковки выбираем необходимые действия.

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

На этом на сегодня всё. Спасибо за внимание и за поддержку. До завтра.

15
570.223 GOLOS
На Golos с February 2017
Комментарии (3)
Сортировать по:
Сначала старые