运送跨平台桌面应用程序

时间:2011-08-20 03:59:25

标签: linux installer desktop-application

我们正在尝试将跨平台桌面应用程序发布到3个主要平台(Windows,MacOSX和Linux)。在Windows上,通过exe安装程序和MacOSX上的dmg分发非常常见。我的问题是,在Linux上发布什么?

我见过公司分发.sh二进制文件。这是发布Linux的最佳方式吗?

由于

2 个答案:

答案 0 :(得分:1)

某些公司,如Mozilla,每个架构分发一个tar.gz:

  • 大,静态链接,
  • 无法通过标准工具更新,
  • 难以集中维护(在组织中),
  • 易于安装
  • 简单发布。

其他公司,如谷歌,分发多种软件包格式,或至少.rpm和.deb,针对主要版本的主要版本。

  • 紧凑的,公共依赖项由包管理器处理,
  • 使用标准包管理器,可以轻松集中维护,
  • 需要安装权限,
  • 需要密切关注与支持的disto版本的兼容性,
  • 需要复杂的包装基础设施。

答案 1 :(得分:0)

虽然.rpm和.deb包是许多人的标准 如9000所述,Linux发行版将被迫使用  保持多种格式,也担心差异  包管理器的不同版本。例如,RPM包  定位4.x不适用于3.x:

http://fedora.linuxsir.org/fedoradocs/rpm-guide/en/ch-rpm-evolution.html

并且在许多情况下,分发之间的RPM依赖关系的方式非常大。  如果您的应用程序是一个流行的开源应用程序,那么它就更少了  一个问题,因为分发维护者将负责创建  包裹。如果你是商业或封闭的,事情就会改变  来源公司,特别是如果你还需要支持Windows和  OS X

有时使用单个安装程序会更方便 在不同的Linux发行版上工作,或者在某些情况下,您需要更多 在向您的最终用户询问所需信息之前的灵活性  您的应用程序的实际安装。使用的shell脚本  一些公司(内部包装tar.gz)可能会解决这个问题  本机包的限制,但其UI仍然非常有限  并且维护起来非常复杂(大多数逻辑必须包括在内  shell脚本,必须可以在不同的shell之间移植...)。他们  还需要预先打包捆绑的tar.gz。

有一些工具允许创建二进制可执行安装程序,  独立于Linux版本并且高度可定制。这些工具 具有易于维护和安装的优点但是  取决于工具可能需要目标中的一些先决条件  机器如Java。

你可以尝试我们的BitRock InstallBuilder(免责声明,我是其中之一  开发人员),创建在任何Linux中运行的二进制安装程序  没有任何外部依赖关系或先决条件的版本。该  生成的安装程序为打包文件添加最小大小的开销  并且非常容易定制。此外,相同的项目文件可以  共享以生成多个平台,以便您可以拥有这三个平台  几乎没有增量工作的平台。我们也支持  生成.rpm和.deb包,但如上所述,你会 失去灵活性。我想要注意的是,我们提供免费的开放许可  源项目。