Что такое хорошие замены InstallAnywhere для установки JAVA EE-приложения?

Возможно, ваше условие2 не возвращает правильное значение, иначе ваш код должен работать. Пример рабочего кода:

контроллер

$scope.condition = 'y';
$scope.condition2 = 'x';

css

.classOne{
    color: red;
}
.classTwo{
    color: blue;
}

html

<div ng-class="(condition == 'x') ? 'classOne': (condition2 == 'x')?'classTwo':'classThree'">ok</div>
44
задан 5377037 3 March 2019 в 17:56
поделиться

9 ответов

В этом случае, к сожалению, , SO не сказал нам много, что мы уже не знали (и действительно, инструмент, который мы в конечном итоге выбрали, не был упомянут ни в одном ответе). Тем не менее, я публикую здесь наш опыт, так как позже он может быть полезен другим.

Мы (быстро) оценили следующие инструменты установщика, в основном, просматривая их веб-сайты и просматривая другую информацию в Интернете: Фактический установщик , Расширенный установщик , BitRock InstallBuilder , Inno Setup , Install Creator , Установщик VISE для Windows , InstallShield , install4j , IzPack , NSIS , openInstaller , Scriptlogic MSI Studio , Smart Install Maker , Установка Symantec Wise Studio и WiX .

Мы отобрали большинство из них на ранних этапах и в итоге отобрали два варианта для более тщательной оценки: BitRock InstallBuilder и install4j . Для этих инструментов мы загрузили ознакомительные версии и сделали несколько прототипов, чтобы посмотреть, действительно ли поддерживаются наиболее важные для нас вещи, и насколько легко или сложно заставить их работать.

Оба варианта были хороши в многие вещи (и обе казались хорошей альтернативой InstallAnywhere):

  • Они производят полностью родные и красивые установщики Windows .exe, которые openInstaller , Scriptlogic MSI Studio , Smart Install Maker , Symantec Wise Installation Studio и WiX .

    Мы отобрали большинство из них на ранних этапах и в итоге отобрали два варианта для более тщательной оценки: BitRock InstallBuilder и install4j . Для этих инструментов мы загрузили ознакомительные версии и сделали несколько прототипов, чтобы посмотреть, действительно ли поддерживаются наиболее важные для нас вещи, и насколько легко или сложно заставить их работать.

    Оба варианта были хороши в многие вещи (и обе казались хорошей альтернативой InstallAnywhere):

    • Они производят полностью родные и красивые установщики Windows .exe, которые openInstaller , Scriptlogic MSI Studio , Smart Install Maker , Symantec Wise Installation Studio и WiX .

      Мы отобрали большинство из них на ранних этапах и в итоге отобрали два варианта для более тщательной оценки: BitRock InstallBuilder и install4j . Для этих инструментов мы загрузили ознакомительные версии и сделали несколько прототипов, чтобы посмотреть, действительно ли поддерживаются наиболее важные для нас вещи, и насколько легко или сложно заставить их работать.

      Оба варианта были хороши в многие вещи (и обе казались хорошей альтернативой InstallAnywhere):

      • Они производят полностью родные и красивые установщики Windows .exe, которые Symantec Wise Installation Studio и WiX .

        Мы отобрали большинство из них на ранних этапах и в итоге отобрали два варианта для более тщательной оценки: BitRock InstallBuilder и install4j . Для этих инструментов мы загрузили ознакомительные версии и сделали несколько прототипов, чтобы посмотреть, действительно ли поддерживаются наиболее важные для нас вещи, и насколько легко или сложно заставить их работать.

        Оба варианта были хороши в многие вещи (и обе казались хорошей альтернативой InstallAnywhere):

        • Они производят полностью родные и красивые установщики Windows .exe, которые Symantec Wise Installation Studio и WiX .

          Мы отобрали большинство из них на ранних этапах и в итоге отобрали два варианта для более тщательной оценки: BitRock InstallBuilder и install4j . Для этих инструментов мы загрузили ознакомительные версии и сделали несколько прототипов, чтобы посмотреть, действительно ли поддерживаются наиболее важные для нас вещи, и насколько легко или сложно заставить их работать.

          Оба варианта были хороши в многие вещи (и обе казались хорошей альтернативой InstallAnywhere):

          • Они производят полностью родные и красивые установщики Windows .exe, которые легко настраивать с помощью собственной графики и т. д.
          • Оба инструмента могут быть легко автоматизированы, так что сборка установщика запускается из Ant. (С помощью install4j мне буквально потребовалось всего пять минут, чтобы изучить его и затем реализовать его.)
          • Кажется, что обе компании имеют хорошую поддержку (ну, по крайней мере, для потенциальных клиентов, оценивающих их продукты ;-) В BitRock мы получили очень быстрые ответы.

          В следующих случаях install4j казался лучше BitRock для наших нужд (многие из них, конечно, субъективны, поэтому YMMV):

          • install4j определенно имеет лучшую поддержку для запуска пользовательского кода Java - это можно сделать в любой момент во время установки, независимо от того, есть ли в системе какой-либо предустановленный JRE.
          • BitRock использует более жестко заданную последовательность шагов установки, тогда как install4j более гибок. В install4j, добавление пользовательских экранов и форм (с пользовательским кодом Java или без него), запрос пользователя и т. д. можно выполнить в любой момент, до или после установки любых файлов.
          • Также некоторые основные вещи, такие как определение наборов файлов, которые должны быть скопированы в целевую систему, и добавление шага установки для замены определенных строк в файлах конфигурации, казалось несколько проще в install4j.
          • install4j имеет лучшую поддержку для объединения JRE
          • При создании установщиков в Linux внешний вид ID4 install4j был более приятным (более «родным»), чем у BitRock
          • (варианты лицензирования install4j были для нас лучше - мы настоятельно предпочли пару из плавающих лицензий для именованных лицензий для всех разработчиков или дорогой «лицензии на сайт»)

          Итак, в конечном итоге мы пошли с install4j . Вот еще несколько подробностей о том, почему это было впечатляюще:

          • Его IDE, в котором вы собрали установщик, очень прост и удобен - я мог бы понять, как сделать большинство вещей, которые я хотел быстро, даже не обращая внимания на документацию , И когда мне нужно было что-то проверить в документации (например, как обратиться к переменным установщика ; как начать писать собственный код Java для API install4j ), это не было Потратьте много времени, чтобы найти то, что мне нужно.
          • Вы можете полностью настроить экраны и действия во время процедуры установки, а также добавить пользовательские экраны и действия (закодированные в соответствии с их Java API ) в любой момент. Это было важно для нас, потому что нам нужно повторно использовать существующий пользовательский код Java из старого установщика InstallAnywhere.
          • В некоторых небольших деталях, install4j кажется идеальным для разработчиков Java . Например, если вы хотите добавить сценарий проверки, чтобы проверить ввод данных пользователем, вы можете очень быстро кодировать это в самой IDE install4j, , используя простую старую Java , с помощью кодирования, похожей на IntelliJ IDEA.
          • Мы посчитали стоимость плавающих лицензий install4j разумной, принимая во внимание, насколько хорош инструмент (и прямую сделку по сравнению с завышенной ценой InstallAnywhere ...)
          • Короче говоря, это казалось лучшим из доступных инструментов для установки Java-приложений. приложения.
56
ответ дан 26 November 2019 в 22:01
поделиться

Sun предлагает установщик с открытым исходным кодом:

OpenInstaller

Я уверен, что все запрошенные вами функции поддерживается.
Но мне кажется, что его немного сложно настроить.

Но угадайте, что: У него есть не только графический интерфейс, но и (псевдографический) интерфейс командной строки.
Хорошие скриншоты и информация здесь .

0
ответ дан 26 November 2019 в 22:01
поделиться

Мы создали BitRock InstallBuilder , кроссплатформенный инструмент установки после некоторых неприятных событий с InstallAnywhere и особенно его двоюродный брат (ныне несуществующий) InstallShield MP. Более половины наших клиентов используют наш инструмент для упаковки программного обеспечения на основе Java, но этот инструмент является нативным, а не на основе Java. Это означает, что у нас есть ряд преимуществ, таких как собственный внешний вид (в том числе Vista, GTK, Qt и т. Д.), И нам не нужно выполнять самораспаковывание перед установкой (более быстрый запуск, меньше места), чтобы упомянуть пару. Чтобы ответить на ваши конкретные вопросы:

  • Поддерживается вызов кода Java в процессе установки в различные моменты времени (например, когда отображается определенная страница, копируются файлы, во время удаления и т. Д.). Код не скомпилирован в установщике, но он может быть вызван внешне, а результат используется в установщике. Если вы более конкретно знаете, какой код вам нужен, я могу предоставить конкретный пример кода. У нас есть много встроенных действий для функциональности, которые необходимо вручную добавить к другим установщикам, поэтому вам может не понадобиться писать этот код в первую очередь!
  • Мы поддерживаем все версии Windows, включая 64-битную и Windows 2008 (несколько клиентов прошли сертификацию на этих платформах с помощью наших установщиков)
  • Мы поддерживаем серверы в комплекте приложений, включая Tomcat, Resin, JBoss и другие. Взгляните на BitNami для примеров таких стеков, которые мы создали.
  • Мы поддерживаем копирование и перемещение файлов, замену значений в файлах конфигурации, распаковку файлов и большинство других общих функций установки.
8
ответ дан 26 November 2019 в 22:01
поделиться

Я видел, как несколько человек рекомендуют IzPack , но я, честно говоря, не знаю, если это соответствует вашим требованиям. Это как минимум бесплатно :)

0
ответ дан 26 November 2019 в 22:01
поделиться

Вас может заинтересовать launch4j

1
ответ дан 26 November 2019 в 22:01
поделиться

Я могу поручиться за izPack . Он основан на Ant, поэтому вы можете упаковать в него установку Ant, и эта установка Ant может содержать пользовательские задачи и / или сценарии, написанные в вашем Ant build.xml (например, с использованием Groovy, Beanshell или любого языка сценариев с поддержкой BSF). Так что это покроет ваши настраиваемые требования.

Я использовал его в прошлом для всего вышеперечисленного - разархивирование / services / custom code. Он мультиплатформенный, хотя я не могу поручиться за этот конкретный пример выше (64-битная Windows). Но если он работает на Java, у вас все будет в порядке.

Единственная головная боль - JRE. Очевидно, вам потребуется немного JRE для запуска этого. Однако я думаю, что вы сможете собрать и выполнить определенную установку JRE в izPack.

7
ответ дан 26 November 2019 в 22:01
поделиться

Jonik, спасибо за публикацию такого подробного отзыва о вашем опыте. Я хотел написать дополнительный ответ, так как вы подняли несколько хороших вопросов.

После того, как определенные базовые требования выполнены (что, к сожалению, InstallAnywhere больше не выполняется), на самом деле появляются не «плохие» или «хорошие» инструменты, а скорее инструменты которые лучше подходят для некоторых проектов. Кажется, вы тщательно изучили все параметры, и install4j будет работать лучше для вашего проекта. Вероятно, это хороший выбор, поскольку у вас есть существующая кодовая база Java из вашего предыдущего установщика, которую вы хотите использовать повторно (хотя я хотел бы подумать, что часть этого кода не понадобится в InstallBuilder:)

Что касается InstallBuilder, мы поддерживаем настройка последовательности экранов с помощью тега (нам, вероятно, лучше это задокументировать). Также просто связать JRE (в большинстве случаев просто с использованием папки java /), но я думаю, что ваша критика верна: поскольку это общая задача, мы должны лучше справляться с документированием / обеспечением ее доступности через графический интерфейс, включая перетаскивание на всех поддерживаемых платформах. У нас уже есть в нашей дорожной карте улучшение GUI в областях, которые вы упоминаете. Самое смешное, что многие наши клиенты находят формат XML настолько простым в использовании, что предпочитают редактировать его с помощью своих программных редакторов (как если бы они редактировали HTML)

Наконец, в отношении лицензирования наша текущая модель не требует покупки дополнительные лицензии, если эти дополнительные программисты будут просто собирать установщики (не проектируя их) или приобретать дополнительные лицензии для машин сборки или непрерывной интеграции. В любом слючае,

1
ответ дан 26 November 2019 в 22:01
поделиться

Я рекомендую взглянуть на cmInstall , который можно найти по адресу http://sourceforge.net/projects/cminstall/

Он соответствует почти всем вашим требованиям и имеет открытый исходный код. Плюс я один из его разработчиков:).

  1. [yes] Должен поддерживать запуск пользовательского кода Java как часть процедуры установки
  2. [да] Должен поддерживать Windows, включая последние 64-битные версии, такие как Windows Server 2008; поддержка других целевых операционных систем является плюсом
  3. [это можно легко сделать с помощью сторонних библиотек, например, Tanuki Software]. Должна быть в состоянии установить сервер приложений в комплекте (например, Resin или Tomcat) в качестве службы в Windows
  4. [да] Должен поддерживать базовые функции, такие как копирование и перемещение файлов, редактирование файлов конфигурации, извлечение ZIP-файлов и т. Д.
  5. [yes - or you can programatically download & unzip it ]Must support bundling a specific version of JRE; at the very least by including a ZIP to be extracted

    6.[no - it needs jdk 1.6 installed, support for .exe or .msi is planned for future]Preferably does not depend on a preinstalled JRE (or any other 3rd party runtime environment or library) on target machine; in other words, can produce an independent Windows .exe (or .msi)

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

    7. [нет - платформа cminstall «основана на разработчике» - но прост в использовании. Просто прочитайте учебники из http://sourceforge.net/project/showfiles.php?group_id=250019&package_id=305489 и посмотрите, как легко создать установщик!] Желательно иметь достойный графический интерфейс для сборки установщика. Однако, как только это будет сделано, должна быть возможность пропустить графический интерфейс и сделать сборку установщика частью автоматизированного процесса сборки.

1
ответ дан 26 November 2019 в 22:01
поделиться

Развертывание в многоплатформенной среде всегда является большим источником проблем. Считается, что оптимальным решением будет создание собственных пакетов для всех платформ, таких как RPM, DEB или MSI ... тех, которые можно было бы установить автоматически.

Разработчикам следует работать над самовосстановлением и запуском приложения. без установки.

Это позволит свести к минимуму усилия по развертыванию.

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

Помните, что вы получите бесплатную услугу обновления. в Linux, если вы последуете этим.

Я все еще надеюсь, что Microsoft добавит что-то похожее на MSI (и это не потребует от вас регистрации). А для Windows вы можете взглянуть на программу обновлений Google, только что выпущенную с открытым исходным кодом - http:

3
ответ дан 26 November 2019 в 22:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: