6

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

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

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

我们目前使用IzPack,因为它完成了上述所有操作,除了后者:它不能轻易检测到以前安装的软件版本,这对我们来说是个大问题。

有没有其他符合要求的套餐?

谢谢!

4

5 回答 5

5

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

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

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

话虽如此,izPack它是开源的,所以如果你能找到一种方法来检测 Linux 上的先前版本,你可以修改CheckedHelloPanel来实现它。也许izPack会接受补丁。无论如何,我建议您在放弃您原本满意的工具之前先查看该方法。(特别是如果您想做的事情根本无法在 Linux 上完成。)

于 2010-03-19T01:12:44.153 回答
2

install4j可以处理您的所有要求。

于 2010-03-19T08:29:51.183 回答
1

试试InstallJammer 。它是免费的、开源的,应该完全符合您的要求。具体来说,它不仅会检测以前的安装,而且实际上具有一些复杂的功能,可以检测多个以前的版本并从中收集所需的信息。

下载并尝试一下,如果您有任何问题,请访问论坛并询问。我通常会很快而完整地回答每个人。0-]

于 2010-03-19T18:02:57.457 回答
1

试试我们的工具BitRock InstallBuilder它满足您的所有要求

于 2010-03-25T14:26:57.257 回答
0

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

于 2010-03-19T02:54:15.330 回答