为 Mac OS 创建可分发文件的更好方法是DMG
什么pkg
?
答案1
我认为没有固定的答案。如果您只有一个应用程序包,我认为大多数最终用户都会期待一个 DMG。但是如果您要安装菜单扩展——或者任何其他需要放在 Library 目录中的东西,您通常需要一个 pkg 文件。
我曾使用这两种工具进行过不同类型的安装。它们都有效。只要您使用其中一种(而不是某种古怪的安装脚本),在我看来,人们就会很高兴。
答案2
关于磁盘映像 (DMG) 方法,通常采用一种让用户清楚知道他们需要将应用程序拖到 /Applications 文件夹的方式实现。(有时,这是通过在 DMG 上的应用程序图标旁边使用 /Applications 文件夹的预先存在的别名来实现的,然后使用带有箭头的背景图像或覆盖的文本说明来解释要做什么。)但是,用户通常只需双击应用程序并从磁盘映像运行它,这会造成混淆(如果他们弹出磁盘映像怎么办?下次尝试运行应用程序时会发生什么?)
Mozilla Firefox 开发人员之一 Alexander Limi 撰写了两篇很棒的文章,介绍了如何让您的 OS X 应用程序检测何时从安装程序磁盘映像运行,然后将自身复制到 /Applications 文件夹。
- http://limi.net/articles/improving-the-mac-installer-for-firefox/
- http://limi.net/articles/firefox-mac-installation-experience-revisited/
这种方法现在已经被广泛接受,并至少生成了一个代码类,M3安装控制器,以便在您自己的应用中启用该行为。另一个采用此方法的 OS X 应用的开发人员发布了他自己的代码示例,也一样。
因此,如果您使用磁盘映像的路径将应用程序拖入 /Applications 文件夹,请强烈考虑检测用户是否正在从磁盘映像运行该应用程序,并主动为他们移动它!您的用户和您的支持人员会感谢您。:)
答案3
如果安装就像拖放一样简单,则使用磁盘映像;如果您需要在应用程序包之外安装支持文件,则使用包安装程序。
还要注意的是,如果用户使用磁盘映像运行程序,最好建议他们安装该应用程序。否则,有些人永远不会真正安装该程序,而只是永远保留磁盘映像。