Исходя из моих требований, я должен использовать NSIS или jprofiler / install4j - PullRequest
5 голосов
/ 23 сентября 2011

У нас есть веб-приложение, которое нам необходимо облегчить развертывание для наших клиентов.Текущий рабочий процесс для новой установки:

  • Убедитесь, что на компьютере установлена ​​JRE (32 или 64 бита)
  • Установите Tomcat (32 или 64 бита)
  • Создайтебаза данных в Oracle или SQL Server (для этого мы предоставляем сценарии SQL)
  • Запишите некоторые значения в нашу таблицу настроек, например, имя хоста.(Может заставить пользователя проверить это, но не хочет, чтобы пользователь нажимал на них.
  • Создайте файл свойств соединений (для этого у нас есть мини-приложение JAR), который будет находиться под Tomcat.
  • У нас есть два файла WAR для нашего реального веб-приложения. Они могут быть разделены на две машины, но сейчас давайте предположим, что они оба выгружаются под Tomcat.
  • Запустите Tomcat, чтобы он развертывал WAR-файлы.

Это утомительный процесс для наших пользователей. Я хочу инкапсулировать его в установщик и пытался сделать это в NSIS, который, кажется, имеет большое сообщество, но затем наткнулся на install4j, которыйхотя кажется менее известным, он более специфичен для Java-приложений.

Просто хотел бы получить отзывы от более опытных пользователей о лучшем выборе для платформы.

Я не хочупройти половину пути, а затем понять, что выбрал не ту платформу установщика.

1 Ответ

11 голосов
/ 27 сентября 2011

Отказ от ответственности: Моя компания разрабатывает 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

Установить Tomcat (32 или 64 бита)

Я бы порекомендовал просто добавить корневой каталог существующей установки tomcat в ваше дерево распространения.

Что касается службы, вы можете использовать средство запуска службы Tomcat из дистрибутива Tomcat или создать средство запуска службы в install4j. В обоих случаях вы можете использовать действие «Установить службу» для установки службы.

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

enter image description here

Создание базы данных в Oracle или SQL Server (для этого мы предоставляем сценарии SQL)

Используйте действие «Запуск исполняемого или пакетного файла» для запуска этих сценариев.

Запишите некоторые значения в нашу таблицу настроек, например, имя хоста. (Может заставить пользователя проверить это, но не хочу, чтобы пользователь нажимал на них.

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

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

enter image description here

Создайте файл свойств соединений (для этого мы предоставляем мини-приложение JAR), которое будет сидеть под Tomcat.

Если у вас уже есть JAR-файл, который делает это, просто добавьте его в Installer-> Custom Code & Resources и добавьте действие «Run script» в ваш установщик, чтобы использовать классы в вашем JAR-файле.

Любой пользовательский ввод из компонентов формы, который был сохранен в переменных установщика, может быть доступен с помощью вызовов, подобных

context.getVariable("greetingOption")

в свойстве script действия «Run script» (или любом другом скрипте в install4j).

У нас есть два WAR-файла для нашего реального веб-приложения. Их можно разделить на два машины, но сейчас давайте предположим, что они оба сбрасываются в Tomcat.

Если вы просто добавите структуру каталогов Tomcat в свое дерево распространения, вы можете предварительно развернуть эти WAR-файлы. В противном случае вы можете использовать действия «Копировать файл» для размещения файлов WAR в любом месте.

Запустите Tomcat, чтобы он развернул WARS

Это делается с помощью действия «Запустить службу».

...