1

首先您好,感谢您花时间帮助我解决我的问题。

我需要用 Java 开发一个使用 SQLite 的应用程序。应用程序需要是跨平台的(从 Windows XP 开始,Linux 和 MAC)。

我需要选择一个安装程序(无论是免费的还是付费的),它将检查 JRE 是否安装在目标机器上,如果没有安装它,则安装和创建数据库并安装应用程序。

如果您有任何安装程序的经验,请推荐它并告诉我它的优点和缺点。我需要编制一份清单并将其提交给我的项目经理,以便他采取适当的行动。

提前致谢!

PS 很多人都推荐过 IzPack。这不是一个选项,因为它已经需要 JVM 才能运行。

4

3 回答 3

1

I need to select an installer (be it free or paid) which will check whether JRE is installed on the target machine and if it isn't to install it, to install and create the DB and install the application.

I suggest a two part strategy.

  1. Check whether a suitable JRE is installed, and guide the user through upgrading if not. Surprisingly, this is best done using a JavaScript supplied/maintained by Oracle themselves. It is the deployJava.js. If you an accept that the tool to ensure a JRE is present is not part of the installer itself, that opens up the field of potential installers considerably, but I have a favorite.
  2. Install the rich client app. itself using Java Web Start. <disclaimer>JWS is just so great that I have to repeat the blurb I wrote on that info. page</disclaimer>.

Java Web Start (JWS) is the Oracle Corporation technology used to launch rich client (Swing, AWT, SWT) desktop applications directly from a network or internet link. It offers 'one click' installation for platforms that support Java.

JWS provides many appealing features including, but not limited to, splash screens, desktop integration, file associations, automatic update (including lazy downloads and programmatic control of updates), partitioning of natives & other resource downloads by platform, architecture or Java version, configuration of run-time environment (minimum J2SE version, run-time options, RAM etc.), easy management of common resources using extensions..

于 2012-10-09T11:17:10.737 回答
1

首先,大多数打包解决方案都可以选择将 JRE 打包到安装程序中。因此,可执行文件,无论是 exe、bin 还是 rpm,都将附带适当的 JRE。这是更好的方法,因为如果您假设 JRE 在目标系统上可用,例如:权限、JRE 安装位置、JRE 版本等,它可以最大限度地减少您可能遇到的意外问题的数量。

可执行文件将解压它附带的 JRE 并启动 java 应用程序(您的安装程序)。

有许多免费/开源和商业的多平台打包解决方案。

最受欢迎的广告是Flexera 的InstallAnywhere。它带有方便的 IDE、基于 XML 的 bean 配置(在基于 UI 的安装过程中将 bean 视为一个步骤或屏幕)以及您可能希望在安装期间执行的许多自定义检查。您可以使用响应文件创建静默安装,以将您的安装发送到企业内的许多机器上。您还可以为您的安装创建将执行自定义逻辑的自定义 bean。

Install4J也是商业解决方案——我没有尝试过,因为它不支持我需要的所有平台。

另一个商业安装向导是Denova的 JExpress。它也是完全可定制的,并且具有与 InstallAnywhere 相同的平台支持覆盖范围,它具有全套功能,但自定义安装的开发不太方便,并且与 Windows 操作系统的集成较少(在我玩它的时候,我无法执行注册表检查并根据结果执行操作 A 或操作 B)。

我尝试过的开源打包向导是lzpack,它既好又灵活,但缺乏好的文档会影响你完成工作的时间。

InstallJammer是另一个开源软件,但它并不支持所有平台——仅支持基本的 windows 和 linux 平台,但我认为这个项目已经停止。

祝你好运!

于 2012-10-09T09:53:20.593 回答
0

好吧,我找到了有关如何为 Windows 创建OS X 安装程序的指南 ,看来JSmooth 可以满足您的要求。

此外,您可能想仔细查看BitRock Installer

于 2012-10-09T09:42:27.623 回答