Отказ от ответственности: Моя компания разрабатывает install4j.
Прежде всего, install4j - это коммерческий инструмент, так что это значительная разница для NSIS. Другие основные различия:
- install4j - это многоплатформенная программа установки для Windows, Mac OS X и всех POSIX-совместимых платформ Linux и Unix.
- install4j основное внимание уделяет установке приложений на основе Java, например, оно занимается созданием средств запуска и служб и предоставляет несколько стратегий для объединения JRE. Многие вещи, которые вам нужны для Java-приложения, будут работать "из коробки".
- install4j предоставляет собственную IDE, которая ориентирована на простоту использования
- Сценарии выполняются на Java. В среде IDE имеется встроенный редактор с дополнением кода и анализом ошибок. Действия, экраны и компоненты форм имеют широкий спектр «свойств скрипта», которые позволяют настраивать поведение программы установки.
Для install4j я могу удовлетворить ваши требования:
Убедитесь, что на компьютере установлена JRE (32 или 64 бита)
В мастере мультимедиа выберите пакет JRE. Если вы выберете опцию «динамический комплект», она будет загружена только в том случае, если не найдено подходящего JRE.
![enter image description here](https://i.stack.imgur.com/KQaVX.png)
Установить Tomcat (32 или 64 бита)
Я бы порекомендовал просто добавить корневой каталог существующей установки tomcat в ваше дерево распространения.
Что касается службы, вы можете использовать средство запуска службы Tomcat из дистрибутива Tomcat или создать средство запуска службы в install4j. В обоих случаях вы можете использовать действие «Установить службу» для установки службы.
Преимущество созданных служб заключается в том, что установщик обновлений знает, что они работают, и автоматически отключает их перед установкой новых файлов.
![enter image description here](https://i.stack.imgur.com/6splD.png)
Создание базы данных в Oracle или SQL Server (для этого мы предоставляем сценарии SQL)
Используйте действие «Запуск исполняемого или пакетного файла» для запуска этих сценариев.
Запишите некоторые значения в нашу таблицу настроек, например, имя хоста. (Может заставить пользователя проверить это,
но не хочу, чтобы пользователь нажимал на них.
Любое взаимодействие с пользователем осуществляется с помощью настраиваемых форм. С помощью нескольких компонентов формы текстового поля вы можете запросить свои настройки.
Это также прозрачно работает в установщике консоли, и автоматически сгенерированный файл ответов позволит вам автоматизировать установку в автоматическом режиме на основе одного выполнения установщика с графическим интерфейсом.
![enter image description here](https://i.stack.imgur.com/2TwvU.png)
Создайте файл свойств соединений (для этого мы предоставляем мини-приложение JAR), которое
будет сидеть под Tomcat.
Если у вас уже есть JAR-файл, который делает это, просто добавьте его в Installer-> Custom Code & Resources и добавьте действие «Run script» в ваш установщик, чтобы использовать классы в вашем JAR-файле.
Любой пользовательский ввод из компонентов формы, который был сохранен в переменных установщика, может быть доступен с помощью вызовов, подобных
context.getVariable("greetingOption")
в свойстве script действия «Run script» (или любом другом скрипте в install4j).
У нас есть два WAR-файла для нашего реального веб-приложения. Их можно разделить на два
машины, но сейчас давайте предположим, что они оба сбрасываются в Tomcat.
Если вы просто добавите структуру каталогов Tomcat в свое дерево распространения, вы можете предварительно развернуть эти WAR-файлы. В противном случае вы можете использовать действия «Копировать файл» для размещения файлов WAR в любом месте.
Запустите Tomcat, чтобы он развернул WARS
Это делается с помощью действия «Запустить службу».