我想知道有哪些软件包可以用来创建安装程序来分发应用程序。目标应用程序用Java编写。安装程序必须能够:
我们目前使用IzPack,因为它做了以上所有的事情,除了后者:它不能很容易地检测到以前安装的软件版本,这是我们的交易破坏者。还有其他符合要求的套餐吗?谢谢你!
muk1a3rh1#
我想你可能错过了izPack的CheckedHelloPanel,它(根据在线文档)检查注册表,看看是否已经安装了另一个版本,并询问你是否要安装第二个版本。OTOH ...如果你的意思是安装程序应该能够对以前的版本进行就地升级,那是一个非常困难的问题,我还没有遇到过一个安装程序构建器,甚至试图解决这个问题。
CheckedHelloPanel
编辑在非Windows平台上,存在一个基本问题。如果应用程序可以安装在非标准位置,则不可能100%确定以前是否安装了(相同或不同版本的)副本。这可能是为什么CheckedHelloPanel只支持Windows上的旧版本检测的根本原因。
话虽如此,izPack是开源的,所以如果您能找到一种方法来检测Linux上的早期版本,那么您可以修改CheckedHelloPanel来实现它。也许izPack会接受补丁。无论如何,我建议您在放弃您满意的工具之前先看看这种方法。(特别是如果你想做的事情根本无法在Linux上完成。
izPack
qacovj5a2#
install4j可以满足您的所有需求。
dwbf0jvd3#
InstallJammer试试。它是免费的,开源的,应该做你想要的。具体来说,它不仅可以检测以前的安装,而且实际上还具有一些复杂的功能,可以检测多个以前的版本并从中收集所需的信息。下载并给予一下,如果您有任何问题,请访问论坛并询问。我通常会快速而完整地回答每个人。0-]
n9vozmp44#
给予我们的工具,BitRock InstallBuilder它满足您的所有要求
dwbf0jvd5#
InstallAnywhere可以做到这一切,ISMP(InstallShield Muli-Platform)在Flexera还在销售时就做到了这一切,但它们是商业软件。我不知道一个免费的等价物,做所有这些事情。
5条答案
按热度按时间muk1a3rh1#
我想你可能错过了izPack的
CheckedHelloPanel
,它(根据在线文档)检查注册表,看看是否已经安装了另一个版本,并询问你是否要安装第二个版本。OTOH ...如果你的意思是安装程序应该能够对以前的版本进行就地升级,那是一个非常困难的问题,我还没有遇到过一个安装程序构建器,甚至试图解决这个问题。
编辑在非Windows平台上,存在一个基本问题。如果应用程序可以安装在非标准位置,则不可能100%确定以前是否安装了(相同或不同版本的)副本。这可能是为什么
CheckedHelloPanel
只支持Windows上的旧版本检测的根本原因。话虽如此,
izPack
是开源的,所以如果您能找到一种方法来检测Linux上的早期版本,那么您可以修改CheckedHelloPanel
来实现它。也许izPack
会接受补丁。无论如何,我建议您在放弃您满意的工具之前先看看这种方法。(特别是如果你想做的事情根本无法在Linux上完成。qacovj5a2#
install4j可以满足您的所有需求。
dwbf0jvd3#
InstallJammer试试。它是免费的,开源的,应该做你想要的。具体来说,它不仅可以检测以前的安装,而且实际上还具有一些复杂的功能,可以检测多个以前的版本并从中收集所需的信息。
下载并给予一下,如果您有任何问题,请访问论坛并询问。我通常会快速而完整地回答每个人。0-]
n9vozmp44#
给予我们的工具,BitRock InstallBuilder它满足您的所有要求
dwbf0jvd5#
InstallAnywhere可以做到这一切,ISMP(InstallShield Muli-Platform)在Flexera还在销售时就做到了这一切,但它们是商业软件。我不知道一个免费的等价物,做所有这些事情。