Сборка инсталлятора для Microsoft Windows

Сборка инсталлятора выполняется в четыре этапа:

  1. Загрузка релиза дя сборки.
  2. Изготовление первого инсталлятора для получения виртуальной машины с базовыми файлами настроек.
  3. Установка и удаление первого инсталлятора для извлечения файлов.
  4. Запуск Inno setup для получения окончательного инсталлятора.

Подобная схема используется для того, чтобы внести корректировки в конфигурацию Inno setup с указанием целевого каталога в нотации 8.3, поскольку это исправляет ошибку с падением виртуальной машины Java при запуске LUWRAIN в каталоге с русскими буквами в пути. Javafxpackager для Microsoft Windows, в отличие от GNU/Linux, не имеет возможности получение дистрибутива без упаковки в самораспаковывающийся архив.

Необходимые файлы для изготовления инсталлятора расположены здесь:

Вся работа осуществляется только в каталоге C:\luwrain.packager. Перенос в другое место невозможен, потому что путь указан жёстко в скриптах. Другими словами, архив по ссылке с материалами для сборки инсталлятора необходимо распаковать в корневой каталог диска C:.

Настройка JDK

Для работы скрипта необходимо скачать и установить Oracle JDK (без JRE), соответствующих версий и битности. Если в системе установлена только 64-битная или только 32-битная версия. она будет найдена и использована автоматически.

Должны быть созданы символьные ссылки C:\luwrain.packager\jdk.x32 и C:\luwrain.packager\jdk.x64. Ссылки должны указывать соответственно на каталог, куда установлена Java. Например, C:\Program Files\Java\jdk1.8.0_202.

но если запускать скрипты какие скрипты? под администраторским доступом, то они автоматически найдут и настроят символические ссылки на эти java (запускать однократно), иначе это можно

Этап 4. Повторный вызов Inno setup

Все файлы, полученные с предыдущего этапа, должны быть расположены в каталоге luwrain\app. Они должны включать портабельную виртуальную машину Java. Для начала работы необходимо вызвать скрипт 6. make fixes and call innosetup.bat. Необходимая архитектура указывается в качестве первого параметра командной строки, по умолчанию собирается инсталлятор для 32-битных систем.

Процесс сборки инсталлятора

В каталоге C:\luwrain.packager\datafiles\luwrain-windows-nightly должна находиться сборка LUWRAIN той версии, которая подлежит упаковке в инсталлятор. Эта сборка в nightly-релизе для Microsoft WIndows находится в каталоге app.

Вызов следующих скриптов произведёт сборку инсталлятора:

  • go.packager.skipunzip.x64.bat (для 64-битной версии);
  • go.packager.skipunzip.bat (для 32-битной версии).

Эти скрипты не производят автоматическую загрузку nightly-релиза. После их работы должны быть созданы файлы вида Luwrain-1.0.x32.exe и Luwrain-1.0.x64.exe.

в архиве в datafiles уже лежит ваша версия luwrain и новая версия sapiimpl (плюс 64-битная rhvoice, как минимум оно работает на win7)

Следующие скрипты произведут сборку инсталлятора с автоматической доставкой nightly-релиза:

  • go.packager.x64.bat (для 64-битной версии);
  • go.packager.ba (для 32-битной версии).t

Доставка nightly-релиза производится с http://download.luwrain.org/nightly/latest/.

ВНИМАНИЕ: Эти команды перед загрузкой очистят все изменения в каталоге C:\luwrain.packager\datafiles\, поэтому использовать их можно только если в latest лежит всё необходимое и редактирование содержимого не требуется.

Каталоги

Следующие каталоги содержат переносную версию используемых утилит (unzip, wget, rm, mv):

  • apache-ant-1.9.5;
  • Inno Setup 5;
  • mingw.

С ними проще чем со штатными от windows), чтобы не требовать их ручную настройку на целевой машине (этот каталог можно скачать на машину с чистой установкой винды и оно будет работать, можно так же туда java вкорячить но смысла нет

'WiX Toolset v3.10' это я тогда экспериментировать хотел, забыл удалить, это не нужно

Исправление ошибки с русскими именаим

фикс ставится немного коряво, так как код скрипта генерируется автоматически, я сначала делаю установку того что сгенерировал javafxpackager, затем копирую файлы, удаляю установку, копирую исправленный конфиг Luwrain.cfg чтобы шел запуск с использованием нескольких jar, и подставляю исправленный скрипт innosetup в том же каталоге, где вставлен метод, возвращающий короткое наименование каталога установки (он используется для генерации ярлыка запуска)

перечитал свое предыдущее письмо, забыл сказать, фикс с путями находится в каталоге iss-fix (эти два скрипта inno setup каждый для своей битности Luwrain.x32.iss ...) и там же измененный конфиг fxpackajer Luwrain.cfg так как оригинальный с ошибкой создается

© 2012–2019 Разработчики LUWRAIN
Дизайн от Strash