Разработка инсталляторов. Урок 10. Практика добавления функционала в установщик: Языки, флажки, переключатели и лицензионное соглашение.


Доброго дня всем моим подписчикам и читателям. Сегодняшняя статья рождалась несколько дней по кускам, но всё равно вместить за раз весь массив информации и расписать все тонкости настройки не представляется возможным, так что я решил разделить статью на три части. Дело не в объёме текста, а в перепроверке каждого действия, иначе вы меня не поймёте, если вдруг возьмётесь собирать по этому гайду что-либо, а  у вас не получится.

1. Автоматический выбор локализации приложения в зависимости от выбора языка установочного пакета.

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

Давайте изучать этот вопрос на практике.

Как Вы наверное помните, мы всё делаем на примере нашей Program. Давайте создадим на базе нашего примера ращличные файлы для разных языков. Для этого откроем папку нашего проекта.

Теперь создадим разные папки для разных языков. Например, en и ru. Сколько угодно. В каждую папку поместим файлы, которые идут вместе с каждой локализацией. Например, папка с русскими файлами:

Открываем Advanced Installer и запускаем наш проект. Удаляем Program.exe из проекта и добавляем наши папки en и ru:

Теперь открываем поочерёдно свойства папок ru и eng и выбираем "Установить содержимое папки в родительскую папку". Это даст нам именно то, что и требуется. После этого у папок появится соответствующая иконка.

Открываем вкладку "Организация продукта" и находим там наши файлы в компонентах. Выберем файлы для английского языка (исполняемый файл и справку) и пропишем в условиях (ProductLanguage = 1033), а в файлах для русской версии соответственно (ProductLanguage = 1049). 

Всё, теперь можно собирать проект. То же самое можно сделать по другому. Создать функции для каждого языка и добавить туда аналогичное условие.

Как видите, особо сложного ничего нет.

2. Флажки выбора дополнительных компонентов.

Теперь мы наконец перейдём к флажкам. К примеру, нам требуется дать возможность выбора установки того или иного файла. Например, библиотеки ресурсов. Мы уже делали подобное, но только в диалогах кастомной установки с функциями - а это немного другое. Для этого идём в "Диалоговые окна" и добавляем туда флажок. Например, в этап выбора папки (или можете создать новый диалог, я уже об этом писал в прошлых уроках).

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

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

Всё, теперь можно собирать. В результате мы получим:

3. Использование переключателей.

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

Придумываем название для свойства группы, например RADIOLANG:

Теперь добавляем текст и значение для каждого пункта. Это важно!

Создаём статический текст для описания и размещаем выше группы переключателей.

Переходим в "Организацию продукта" и пишем условия в компоненты или в функции. На этот раз добавим в функцию.

После сборки получаем:

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

4. Добавляем лицензионное соглашение в установочный пакет.

Добавить лицензионное соглашение в проект очень , если вы этого не сделали с помощью мастера в самом начале создания проекта. Переходим в "Диалоговые окна" и создаём новый диалог:

Тут выбираем необходимое окно:

Программа попросит выбрать файл соглашения в формате RTF. Выбираем.

Для каждого языка в установочный пакет можно добавить своё лицензионное соглашение.

Перетаскиваем данный диалог выше диалога выбора папки установки.

В результате после сборки получаем:

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


Comments 2


Привет!

Этот пост был выбран Академией Голоса и попал в список программы поддержки качественных образовательных постов.
Ссылка на твой пост будет опубликована в отчете Академии.

Спасибо за полезный контент (ノ◕ヮ◕)ノ*:・゚✧

18.03.2017 15:36
0

Спасибо за поддержку, Академики! -)))

18.03.2017 16:06
0

brew install awesomeapp

19.03.2017 01:06
0

<|-)

19.03.2017 03:42
0