我想知道哪些包可用于创建安装程序以分发应用程序。
目标应用程序是用Java编写的。安装程序必须能够:
我们目前使用IzPack,因为它完成了上述所有操作,但后者除外:它无法轻易检测到以前安装的软件版本,这对我们来说是违规行为。
还有其他适合该法案的套餐吗?
谢谢!
答案 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仍在销售它时做了所有这些,但它们是商业软件。我不知道做所有这些事情的免费等价物。