17

为 Mac OS 创建可分发文件的首选方法是什么:dmg 或 pkg?

4

5 回答 5

18

关于磁盘映像 (DMG) 方法,通常这是以一种对用户显而易见的方式实现的,即他们需要将应用程序拖到他们的 /Applications 文件夹中。(有时这是通过 DMG 上的应用程序图标旁边的 /Applications 文件夹的预先存在的别名来完成的,然后是在它们之间有一个箭头的背景图像或覆盖解释该做什么的文本说明。)通常,但是,用户只需双击应用程序并从磁盘映像运行它,这会让人感到困惑(如果他们弹出磁盘映像怎么办?下次尝试运行应用程序时会发生什么?)

Mozilla Firefox 开发人员之一 Alexander Limi 有两篇很棒的文章,介绍了让您的 OS X 应用程序检测它何时从安装程序磁盘映像运行,然后提供将其自身复制到 /Applications 文件夹。

这种方法现在已被广泛接受,至少生成了一个代码类M3InstallController,以在您自己的应用程序中启用该行为。另一个采用这种方法的 OS X 应用程序的开发人员也发布了他自己的代码示例

因此,如果您使用需要将应用程序拖入 /Applications 文件夹的应用程序走磁盘映像的路线,请强烈考虑检测用户是否正在从磁盘映像运行应用程序,并提出为他们移动它!您的用户和您的支持人员会感谢您。:)

于 2009-11-19T18:48:29.590 回答
7

我不认为有一个固定的答案。如果您只有一个应用程序包,我认为大多数最终用户都希望使用 DMG。但是如果你正在安装一个菜单扩展——或者任何其他需要在库目录中的东西,你通常需要一个 pkg 文件。

我已经将两者用于不同类型的安装。他们都工作。只要您使用这两者之一(而不是某种古怪的安装脚本),恕我直言,人们会很高兴。

于 2009-11-19T18:31:16.597 回答
3

拉链的优点:

  • Safari 自动解压
  • 易于创建
  • 更易于使用Sparkle更新程序

dmg的优点:

  • 可用于显示许可协议
  • 可以显示安装说明 ( DMG Canvas )

不要使用 .pkgs,除非你需要将你的包放在某个位置。(WebKit 包、内核扩展...)

于 2009-11-19T18:42:58.117 回答
2

Mac 应用程序的趋势是一个不错的 DMG,上面有一个可拖动安装的应用程序。或者甚至可能只是一个 ZIPped 应用程序,它知道如何在启动时将自身复制到用户的 Applications 目录。

除非绝对必须,否则不要使用安装程序。

于 2009-11-19T18:32:49.463 回答
1

如果安装与拖放一样简单,则为磁盘映像,如果您需要在应用程序包之外安装支持文件,则为包安装程序。

另请注意,对于磁盘映像,如果用户从映像运行程序,最好为用户安装应用程序。否则有些人将永远不会真正安装该程序,而只是永远保留磁盘映像。

于 2009-11-19T18:31:15.210 回答