Основываясь на моих требованиях, следует ли мне использовать NSIS или jprofiler/install4j

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

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

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

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

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


person jakc    schedule 23.09.2011    source источник


Ответы (1)


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

введите здесь описание изображения

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

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

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

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

введите здесь описание изображения

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

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

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

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

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

введите здесь описание изображения

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

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

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

context.getVariable("greetingOption")

в свойстве сценария действия «Выполнить сценарий» (или любого другого сценария в install4j).

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

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

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

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

person Ingo Kegel    schedule 27.09.2011
comment
Не могли бы вы рассказать об install4j, использующем собственную IDE. Это IDE специально для установки установщика? Могу ли я по-прежнему использовать Intellij для разработки своего Java-приложения? - person Anon21; 02.12.2020
comment
Да, install4j IDE предназначена только для разработки пользовательского кода для установщика, а не для самого приложения. - person Ingo Kegel; 03.12.2020