java应用程序的安装程序

时间:2010-03-19 00:05:56

标签: java ant installer previous-installation

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

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

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

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

还有其他适合该法案的套餐吗?

谢谢!

5 个答案:

答案 0 :(得分:5)

我认为您可能会遗漏izPack的CheckedHelloPanel(根据在线文档)检查注册表中是否已安装其他版本,并询问您是否要安装第二个版本。 / p>

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

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

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

答案 1 :(得分:2)

install4j可以满足您的所有要求。

答案 2 :(得分:1)

尝试InstallJammer。它是免费的,开源的,应该完全按照你的意愿行事。具体来说,它不仅会检测以前的安装,而且它实际上具有一些复杂的功能,可以检测多个以前的版本并从中收集所需的信息。

下载并尝试一下,如果您有任何疑问,请到论坛前询问。我通常很快就完全回答每个人。 0 - ]

答案 3 :(得分:1)

尝试使用我们的工具,BitRock InstallBuilder它符合您的所有要求

答案 4 :(得分:0)

InstallAnywhere可以做到这一切,ISMP(InstallShield Muli-Platform)在Flexera仍在销售它时做了所有这些,但它们是商业软件。我不知道做所有这些事情的免费等价物。

相关问题