Установочный пакет

Материал из LUWRAIN Wiki
Перейти к: навигация, поиск

Windows native[править]

Задача - разработать инструменты для автоматического создания нативного приложения luwrain, не требующего для запуска java, а так же для создания пакета для распространения через сеть, с максимально упрощенной, не требующей от пользователя каких-либо действий или минимизирующих их. С помощью идущей с дистрибутивом java8 библиотеки ant-javafx.jar пакета javafxpackager есть возможность использовать скрипты ant builder для решения этой задачи, которая в свою очередь использует такие пакеты как Inno Setup для генерации установочного пакета в формате .exe (для распространения по сети) и Wix Toolset для создания пакета в формате msi.

Inno Setup - http://www.jrsoftware.org/isdl.php
Wix Toolset - http://wixtoolset.org/releases/
После установки для каждого из этих приложений необходимо вручную прописать пути до их исполняемых файлов в переменную PATH.

Документация по использованию библиотеки ant-javafx.jar в build.xml скриптах ant - http://docs.oracle.com/javafx/2/deployment/javafx_ant_task_reference.htm

использование скриптов установки[править]

git проект windows в каталоге packager\windows содержит готовые скрипты для генерации пакетов msi или exe предпологается что все git каталоги проекта находятся на одном уровне, на этом же уровне находится каталог lib со всеми библиотеками и jar с копиями собранных jar-файлов проекта (возможно использование символической ссылки на lib, если все файлы собираются в этом каталоге) Создание приложения .exe состояит из трех этапов:

  1. компиляция проекта
  2. создание базового установочного пакета
  3. перезапуск inno setup с несколькими исправлениями, которые невозможно сделать используя javapackager
отключаются все диалоговые окна в установщике
правится файл luwrain.cfg с целью изменения переменной app.classpath

генерация базового установочного пакета luwrain[править]

В каталоге packager\windows\luwrain находится ant скрипт build.xml при его использовании (просто запустить ant в командной строке сделав этот каталог текущим).

скрипт предполагает, что каталоги data, regestry и sqlite находятся в packager\windows\datafiles, эти файлы будут скопированы в дистрибутив и будут использоваться для инициализации профиля пользователя.
так же ожидается, что собранные библиотеки jni поддержки sapi - SAPIImpl.??.dll будут размещены в ..\extensions-mssapi\build\jni

Итоговый пакет будет находиться в каталоге packager\windows\luwrain\dist\bundles\ , тип пакета exe или msi можно указать в build.xml изменив атрибут nativeBundles тега fx:deploy либо указав all, в этом случае будут собраны все возможные типы установочных пакетов (на платформе windows скорее всего это бубут только msi и exe).

перезапуск inno setup с исправлениями[править]

В каталоге packager\windows\iss-fix находится bat-скрипт go.bat, при запуске которого (сделав этот каталог текущим) будет произведена 'тихая' установка exe версии пакета, собранная на предыдущем шаге, скопирована в текущий каталог Luwrain и затем будет произведено такое же тихое удаление этого пакета.

учтите этот факт и не храните на машине разработчика установленный дистрибутив native luwrain в пользовательском профиле

после чего будут внесены исправления и перезапущен компилятор inno setup

Итоговый файл будет размещен в каталоге packager\windows\iss-fix\Output

временные каталоги, которые желательно очищать перед сборкой[править]

так же эти каталоги должны быть в .gitignore используемой vcc

packager\windows\iss-fix\Luwrain
packager\windows\iss-fix\Output
packager\windows\iss-fix\iscc.log
packager\windows\luwrain\dist