|
|
1
60
在这种情况下,不幸的是,SO没有告诉我们很多我们不知道的事情(事实上,我们最终选择的工具在任何答案中都没有提到)。然而,我在这里发布我们的经验,因为它们可能对以后的其他人有所帮助。 我们(快速)评估了以下安装工具,主要是通过查看它们的网站和浏览网络上的其他信息: Actual Installer , Advanced Installer , BitRock InstallBuilder , Inno Setup , Install Creator , Installer VISE for Windows , InstallShield , install4j , IzPack , NSIS , openInstaller , Scriptlogic MSI Studio , Smart Install Maker , Symantec Wise Installation Studio WiX . 我们很早就筛选出了其中的大部分,并最终列出了两个选项进行更仔细的评估: 和 安装4j 对于这些工具,我们下载了评估版本并做了一些原型设计,看看对我们来说最重要的事情是否真的得到了支持,以及让事情正常工作有多难。 这两个选项在很多方面都很好(而且似乎都是InstallAnywhere的不错替代品):
在以下方面,install4j似乎比BitRock更符合我们的需求(当然,其中许多都是主观的,所以YMMV):
安装4j 。以下是一些令人印象深刻的原因的更多细节:
|
|
|
2
9
我们创造 BitRock InstallBuilder ,这是一个跨平台安装工具,在使用InstallAnywhere,特别是其表亲(现已失效)InstallShield MP时遇到了一些令人沮丧的经历。我们一半以上的客户使用我们的工具来打包基于Java的软件,但该工具是本机的,而不是基于Java的。这意味着我们有很多优势,比如原生外观(包括Vista、GTK、Qt等),而且在安装之前不需要进行自解压(启动更快,空间需求更少)。要回答您的具体问题:
你可以看看我们的一些 customers 如MySQL、三星、摩托罗拉、GitHub等。InstallBuilder是一种商业产品,但我们为开源项目提供免费许可证,并为小企业和微型ISV提供折扣。 |
|
|
3
9
我只想补充一点,我的公司已经使用InstallAnywhere大约6年了,但我们决定继续前进。原因有两个。 首先,他们的定价是绝对的高速公路抢劫,与INstall4J和BitRock等直接竞争对手相比,许可受到严格限制。 我对InstallAnywhere的另一个问题是,该产品仅进行了最低限度的维护。我已经使用该产品6-7年了,经历了许多不同的版本,错误很少得到修复,你肯定不能期待新的功能。基本上,你所能期待的就是他们将在新版本的windows/mac发布时添加对它的支持。他们的支持费用相当昂贵,但我从未真正实施过支持请求。当我第一次购买该产品时,我相信它来自一家名为ZeroG的公司,该公司专注于该产品。他们实际上对产品进行了维护和改进。当时,这是唯一真正的门票,他们在比赛中遥遥领先。 然后它被Macrovision和Flexera收购。自从ZeroG出售该产品以来,它一直是拥有公司的辅助产品,对它的关注一直很差。它似乎是为了完成一套产品而购买的,而不是因为公司实际上想维护产品。 提醒一下,仔细评估这些产品,因为你可能会与它们联系在一起。我们本可以早点离开产品,但我们不仅在安装程序上投入了大量精力,还根据产品的功能/限制设置了一个自动更新方案,因此离开产品的成本很高,因为在新产品中复制它需要人力投资。 这只是我的看法,但我不推荐InstallAnywhere。 |
|
|
4
7
|
|
5
4
|
|
|
6
3
在多平台环境中部署总是一个很大的麻烦来源。它认为最佳解决方案将针对所有平台(如RPM、DEB或MSI)创建本机包。..也可以在无人值守的情况下安装。 开发人员应该努力使应用程序能够自我修复,无需安装即可运行。 这样做将最大限度地减少部署工作。
记住,如果你遵循这些,你将在Linux上获得免费更新服务。 我仍然希望微软能添加类似MSI的东西(这不需要你在他们那里注册)。同时,对于Windows,您可以查看刚刚作为开源发布的Google Updater- http://code.google.com/p/omaha/ 他们为Mac OS发布了类似的产品 http://code.google.com/p/update-engine/ 但遗憾的是,他们没有考虑从这两个产品中创造一个产品。 |
|
7
2
你可以试试 SetupBuilder Gradle Plugin 使用简单的Gradle构建脚本创建本机*.msi安装程序。
|
|
|
8
2
我还发现了一些开源多平台安装程序。以下是我的评论:
|
|
|
10
1
Jonik,感谢您发布如此详细的经验反馈。既然你提出了一些好的观点,我想写一个后续的答案。 在满足某些基本要求(不幸的是InstallAnywhere不再满足)后,没有真正的“坏”或“好”工具,而是更适合某些项目的工具。您似乎仔细研究了所有选项,install4j将更适合您的项目。这可能是一个不错的选择,因为您有一个以前安装程序中的现有Java代码库,您想重用它(尽管我认为InstallBuilder不需要其中一些代码:) 关于InstallBuilder,我们支持使用<insertBefore>标签(我们可能应该更好地记录这一点)。捆绑JRE也很简单(在大多数情况下只包括java/文件夹),但我认为你的批评是有道理的:因为这是一项常见的任务,我们应该更好地记录/使其可以通过GUI访问,包括在所有支持的平台上拖放。在我们的路线图中,我们已经在您提到的领域改进了GUI。有趣的是,我们的许多客户发现XML格式非常易于使用,他们更喜欢使用编程编辑器对其进行编辑(就像编辑HTML一样)
再次感谢您的反馈 |
|
|
11
1
我建议你看看 ,可在以下网址找到 http://sourceforge.net/projects/cminstall/
|
|
|
13
0
|