什么是安装Java EE应用程序的优秀InstallAnywhere替换? [英] What are good InstallAnywhere replacements for installing a Java EE application?

查看:182
本文介绍了什么是安装Java EE应用程序的优秀InstallAnywhere替换?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您建议使用哪种(商业或免费)安装程序工具来替换 InstallAnywhere 作为Java EE应用程序的安装程序?你特别喜欢它,它的缺点是什么?

Which (commercial or free) installer tool would you recommend to replace InstallAnywhere as the installer for a Java EE application? What do you specifically like about it, and what are its downsides?

一些要求:


  • 必须支持运行自定义Java代码作为安装过程的一部分

  • 必须支持Windows,包括最新的64位版本,如Windows Server 2008;支持其他目标操作系统是一个加号

  • 必须能够安装捆绑的应用程序服务器(例如树脂 Tomcat )作为Windows上的服务

  • 必须支持复制和移动文件,编辑配置文件,提取ZIP等基本内容。

  • (必须支持捆绑特定版本的JRE;至少包括一个要提取的ZIP)

  • Must support running custom Java code as part of installation procedure
  • Must support Windows, including latest 64-bit versions like Windows Server 2008; support for other target operating systems is a plus
  • Must be able to install a bundled application server (such as Resin or Tomcat) as a service on Windows
  • Must support basic stuff like copying and moving files around, editing configuration files, extracting ZIPs, etc.
  • (Must support bundling a specific version of JRE; at the very least by including a ZIP to be extracted)

编辑:再多几点:


  • 最好不依赖于目标机器上预先安装的JRE(或任何其他第三方运行时环境或库);换句话说,可以生成一个独立的Windows .exe(或.msi)

  • 该工具最好是跨平台的,以便可以在Linux,Windows或Mac上完成安装程序开发。

  • 最好有一个合适的GUI来安装安装程序。但是,一旦完成,必须可以跳过GUI并使安装程序构建自动构建过程的一部分。

  • 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)
  • The tool should preferably be cross-platform so that installer development can be done on Linux, Windows, or Mac.
  • Should preferably have a decent GUI for putting the installer together. Once that is done, however, it must be possible to skip the GUI and make installer building part of automated build process.

编辑:我发布了一个单独的答案,关于我们最终选择的内容和原因。

Edit: I posted a separate answer about what we ended up choosing and why.

推荐答案

在这种情况下,不幸的是,SO并没有告诉我们很多我们不知道的事实(事实上我们最终选择的工具在任何答案都没有提到)。但是,我在这里发布了我们的经验,因为它们可能会对其他人有所帮助。

In this case, unfortunately, SO didn't tell us much that we didn't know already (and indeed the tool we ultimately chose was not mentioned in any answer). However, I'm posting our experiences here, as they might be helpful to others later on.

我们(快速)评估了以下安装程序工具,主要是通过查看他们的工具网站和浏览网页上的其他信息: Actual Installer 高级安装程序 BitRock InstallBuilder Inno Setup 安装Creator 适用于Windows的Installer VISE InstallShield install4j IzPack NSIS openInstaller Scriptlogic MSI Studio 智能安装制造商 Symantec Wise Installation Studio WiX

We (quickly) evaluated the following installer tools, mostly by looking at their websites and browsing for other information on the web: Actual Installer, Advanced Installer, BitRock InstallBuilder, Inno Setup, Install Creator, Installer VISE for Windows, InstallShield, install4j, IzPack, NSIS, openInstaller, Scriptlogic MSI Studio, Smart Install Maker, Symantec Wise Installation Studio, and WiX.

我们在早期筛选出大部分内容,并最终筛选出两个选项以进行更密切的评估: BitRock InstallBuilder install4j 即可。对于这些工具,我们下载了评估版本并进行了一些原型设计,以确定是否真正支持对我们最重要的事情,以及让事情变得有效的难易程度。

We screened out most of them early on, and ended up shortlisting two options for closer evaluation: BitRock InstallBuilder and install4j. For these tools, we downloaded evaluation versions and did some prototyping, to see if the things that are most important to us are really supported, and how easy or hard it is to get things working.

这两个选项在很多方面都很好(两者都是InstallAnywhere的好替代品):

Both of the options were good in many things (and both seemed good alternatives to InstallAnywhere):


  • 他们生产完全原生的可以使用自己的图形等方便地自定义
    的Windows .exe安装程序。

  • 这两个工具都可以轻松实现自动化,以便从Ant触发安装程序构建。 (使用install4j,它只花了我五分钟的时间来学习它然后实现它。)

  • 两家公司似乎都得到了很好的支持(好吧,至少对于评估他们产品的潜在客户;-)特别是从BitRock我们得到了非常快的回复。

  • They produce completely native and pretty Windows .exe installers that are easy to customise with your own graphics etc.
  • Both tools could easily be automated so that installer building is triggered from Ant. (With install4j it literally took me just five minutes to learn it and then implement it.)
  • Both companies seem to have good support (well, at least for prospects evaluating their products ;-) Especially from BitRock we got very quick replies.

在以下内容中install4j对于我们的需求似乎比BitRock更好(当然,其中很多都是主观的,所以YMMV):

In the following things install4j seemed better than BitRock for our needs (many of these are subjective, of course, so YMMV):


  • install4j肯定有更好的运行支持自定义Java代码 - 它可以在安装期间的任何时候完成,无论系统上是否有任何预安装的JRE。

  • BitRock使用更加硬编码的安装步骤序列install4j更灵活。在install4j中,添加自定义屏幕和表单(有或没有自定义Java代码),询问用户输入等,可以在安装任何文件之前或之后的任何时候完成。

  • 另外一些基本的事情,比如定义要复制到目标系统的文件集,以及在install4j中添加安装步骤来替换配置文件中的某些字符串似乎更容易。

  • install4j更好地支持JRE捆绑

  • 在Linux上创建安装程序时,外观&感觉install4j IDE比BitRock更好(更本机)

  • (install4j的许可选项对我们来说更好 - 我们强烈希望为所有开发人员指定许可证的一些浮动许可证或昂贵的站点许可证)

  • install4j definitely has better support for running custom Java code - it can be done at any point during the installation, and regardless of whether there's any preinstalled JRE on the system.
  • BitRock uses a more hard-coded sequence of installation steps while install4j is more flexible. In install4j, adding custom screens and forms (with or without custom Java code), asking user for input, etc., can be done at any point, before or after installing any files.
  • Also some basic things like defining the filesets that are to be copied to the target system, and adding an installation step to replace certain strings in configuration files seemed somewhat easier in install4j.
  • install4j has better support for JRE bundling
  • When creating installers on Linux, the look & feel of install4j IDE was nicer (more "native") than that of BitRock
  • (install4j's licensing options were better for us - we strongly preferred a couple of floating licenses to named licenses for all developers or an expensive "site license")

所以最终我们选择 install4j 。以下是有关其令人印象深刻的原因的更多详细信息:

So ultimately we went with install4j. Here are some more details on why it was impressive:


  • 其IDE,您将安装程序放在一起,非常简单易用 - 即使不查看文档,我也能弄清楚如何快速完成我想要的大部分事情。当我必须检查文档中的内容时(例如,如何引用安装程序变量;如何开始使用编写针对install4j API的自定义Java代码),没过多久就找到了我需要的东西。

  • 您可以在安装过程中完全自定义屏幕和操作,并在任何地方添加自定义屏幕和操作(根据其 Java API 编写)点。这对我们很重要,因为我们需要从旧的InstallAnywhere安装程序重用现有的自定义Java代码。

  • 在一些小细节中,install4j似乎是 Java 开发人员的理想选择。例如,如果要添加验证脚本以检查某些用户输入,则可以在install4j IDE本身中快速编码,使用普通旧Java ,编码协助类似于IntelliJ IDEA。

  • 我们认为install4j浮动许可证的成本是合理的,考虑到该工具有多好(并且与InstallAnywhere的膨胀定价相比完全讨价还价......)

  • 简而言之,它似乎是可用于部署Java应用程序的最佳安装程序工具。

  • Its IDE, where you put the installer together, is very simple and easy to use - I could figure out how to do most things I wanted quickly, even without looking at documentation. And when I did have to check something in the documentation (e.g. how to refer to installer variables; how to get started writing custom Java code against the install4j API), it didn't take long to find what I needed.
  • You can completely customise the screens and actions during the installation procedure, and also add custom screens and actions (coded against their Java API) at any point. This was important to us because we need to reuse existing custom Java code from the old InstallAnywhere installer.
  • In some small details, install4j seems ideal for Java developers. For example, if you want to add a validation script to check some user input, you can code that very quickly in the install4j IDE itself, using plain old Java, with coding assistance resembling that of IntelliJ IDEA.
  • We deemed the cost of install4j floating licenses reasonable, considering how good the tool is (and downright bargain compared to the inflated pricing of InstallAnywhere...)
  • In short, it seemed like the best installer tool available for deploying Java applications.

这篇关于什么是安装Java EE应用程序的优秀InstallAnywhere替换?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆