跨平台安装程序

时间:2010-12-29 20:07:59

标签: cross-platform

我们用于Mac,Windows和Linux的C ++ / QT桌面应用程序需要安装程序。我宁愿为这三个平台安装一个安装程序。我知道它有点棘手,我想我想问的是,是否已经存在一个框架(Java可能?)。

我真的很想避免写三个不同的安装程序。

3 个答案:

答案 0 :(得分:11)

Kyle提到的链接非常全面,但我想提供更多有关InstallBuilder for Qt的信息(免责声明,我是开发人员之一),因为大多数引用的跨平台安装程序都是Java基。这需要捆绑JRE等,并增加了基于Qt的安装程序(如我们的安装程序)所不需要的大量开销。它能够从单个项目文件以及本机软件包(如DEB和RPM)为所有平台生成类似向导的可执行安装程序。如果您以DVD格式发布软件,则可以创建一个跨平台共享数据但仍具有本机启动器的单平台DVD。

话虽如此,由于您的应用程序是面向桌面的,对于OS X的特定情况,如果它不需要复杂的安装,您可能最好创建一个.app文件并将其打包到DMG中。然后,用户可以将文件直接拖到“应用程序”文件夹中。

最后,我想提一下InstallBuilder是商业版,但我们为开源项目提供免费许可,并为小型开发公司提供折扣。

答案 1 :(得分:2)

IzPack摇滚:http://izpack.org。它真正的跨平台,非常轻巧,易于掌握,并产生出色的效果。

答案 2 :(得分:2)

将Izpack和InstallBuilder完全集成到我们的构建中(使用Windows,OSX和Ubuntu 14构建服务器进行测试),我会说我相信InstallBuilder非常物有所值(根据wojciechka的免费开源项目) )。

如果你需要打包一个JVM,并且有一个业余的用户界面,Izpack有点慢,有点大。版本5(候选版本3)也没有正确生成卸载程序。也就是说,只要您使用4.x版本并且无论如何都需要JVM,它可能足以满足您的需求。扩展接口不是非常容易处理,但几乎是无限灵活的。 Windows安装程序不会注册控制面板卸载程序列表。

InstallBuilder在生成的安装程序中具有出色的快速UI,并且具有用于创建安装程序的可维护UI。 XML也很容易处理。下载量尽可能小。它还包括很好的钩子,可以轻松地做各种自定义的东西。我遇到的唯一有点烦人的事情是,Windows服务器要求我手动添加一些配置来设置其他系统上的可执行位。包(其他系统不需要这种配置)。

注意:我使用的是标准InstallBuilder的三平台版本(不是用于QT的InstallBuilder)。