java应用程序的安装程序

bgu*_*uiz 6 java ant installer previous-installation

我想知道哪些包可用于创建安装程序以分发应用程序.

目标应用程序是用Java编写的.安装程序必须能够:

  • 通过ant脚本编译
  • 编译Linux(和Windows)
  • 在Windows和Linux上运行
  • 检测/处理以前安装的应用程序版本

我们目前使用IzPack,因为它完成了上述所有操作,但后者除外:它无法轻松检测到以前安装的软件版本,这对我们来说是一个交易破坏者.

还有其他适合该账单的套餐吗?

谢谢!

Ste*_*n C 5

我认为您可能缺少izPack CheckedHelloPanel(根据在线文档)检查注册表以查看是否已安装其他版本,并询问您是否要安装第二个版本.

OTOH ...如果你的意思是安装程序应该能够对以前的版本进行就地升级,这是一个非常难的问题,而且我还没有遇到一个甚至试图解决它的安装程序构建器.

编辑在非Windows平台上,存在一个根本问题.如果应用程序可以安装在非标准位置,则无法100%确信是否已安装了(相同或不同版本)的副本.这可能是为什么CheckedHelloPanel只支持Windows上的旧版本检测的根本原因.

话虽izPack如此,它是开源的,所以如果你能找到一种在Linux上检测以前版本的方法,你可以修改CheckedHelloPanel来实现它.也许izPack会接受补丁.无论如何,我建议你先放弃这种方法,然后再放弃一个你满意的工具.(特别是如果你想做什么根本无法在Linux上完成.)