Создание установщика для консалтинга

В компании, в которой я работаю, у нас есть продукт, который можно было бы называть как консультационные услуги. Это платформа для EDI с множеством движущихся частей. Back-end - это ESB, написанный на Java SE, front-end - это приложение Java EE, работающее на GlassFish, база данных, как правило, на сервере MSSQL, а RabbitMQ используется в качестве промежуточного программного обеспечения очередей. Это домен-агностик в том смысле, что различные модели сообщений и сопоставления могут быть развернуты. Настройка новой среды, как правило, занимает довольно много времени, но многие из них - мирские задачи, которые можно легко автоматизировать, заполняя правильные параметры и запущенные скрипты. T-SQL для базы данных, скрипты asadmin на GlassFish и конфигурации ESB - это XML, поэтому преобразование XSLT в шаблон будет выполнять эту работу.

Это никогда не станет простой установкой, но наличие "установщика", который выполняет большую часть работы для вас, перечисляет предварительные шаги, предоставляет пользователю удобный способ предоставления необходимых параметров, создания некоторых сценариев и размещения вещей на месте было бы хорошо; даже если бы его использовали только разработчики, это облегчило бы жизнь. Хотя программное обеспечение технически не зависит от платформы, оно, как правило, запускается на Windows Server.

Просто сделать приложение Java, которое делает выше, не будет очень сложно, но вместо того, чтобы изобретать колесо (и, возможно, очень уродливый графический интерфейс), я хотел бы увидеть, соответствуют ли какие-либо существующие решения законопроекту. InstallShield и Inno Setup выглядят многообещающими. Таким образом, вопрос заключается в том, что существующий инструмент может обеспечить следующее или, альтернативно, сделать что-то с нуля, стоит того?

  • Вызов других исполняемых файлов или инсталляторов (например, для GlassFish).
  • Запустите сценарии оболочки (для установки asadmin).
  • Подключиться к базе данных (MSSQL) и запустить скрипты.
  • Выполнение XSLT-преобразований (может выполняться при вызове/вызове метода Java).
  • Настройка служб.
  • Возможно, есть способ проверить, заполнены ли предварительные условия (проверьте, установлен ли GlassFish, доступны ли RabbitMQ, DB...)

Ответ 1

FWIW, вы можете делать все это из MSI. Есть ряд инструментов, которые облегчают процесс. Я использую бесплатную MAKEMSI, которая отличная: http://dennisbareis.com/makemsi.htm