【问题标题】:Why use a Package Installer with your Macintosh App?为什么要在您的 Macintosh 应用程序中使用包安装程序?
【发布时间】:2011-02-14 06:42:44
【问题描述】:

为什么有些 Mac 应用程序很乐意简单地复制到 /Applications 文件夹中,而有些则需要安装向导软件?巫师有优势吗?

【问题讨论】:

    标签: installation macos uninstallation


    【解决方案1】:

    您可能对 Apple 对此主题的看法感兴趣。这是Software Delivery Guide

    尤其是Manual installsManaged installs这两章。

    支持包安装程序的一些要点是:

    • 支持自定义安装
    • 支持前后操作,例如在升级前退出应用程序和守护进程

    【讨论】:

    • 我的印象是,您在 /Applications 中看到的对象的捆绑格式(它们只是充满可执行文件和其他资源的文件夹)在移入 /Applications 时支持安装后/预安装脚本,或者期望应用程序本身会检查系统以查看它是否需要自己执行前/后步骤。
    • @Armentage,不知道捆绑格式是否支持它,但是应用程序本身可以很容易地确定它是否刚刚安装(通过检查 NSUserDefaults 中的属性,这样的属性将应用程序第一次运行时为 nil),运行 postflight 行为,然后将该属性标记为 true(因此应用程序的后续运行将不会执行该操作)。
    • 是的——我非常同意这一点。需要一个安装后脚本似乎很荒谬,因为应用程序可以在第一次运行时执行它需要执行的任何操作。
    • 在升级可能与其助手守护进程一起运行的已安装应用程序的过程中,安装后脚本最好位于专用安装包中。
    【解决方案2】:

    在某些情况下,应用程序需要在其他位置安装支持文件;例如,某些程序在“/usr/local/lib”中添加库或在“/usr/local/bin”中添加二进制文件;其他需要在“/Library/Frameworks”或“/Library/Application Support”中安装支持文件。对于这些情况,使用 *.pkg 和 *.mpkg 安装程序确实是最好的解决方案,因为拖放应用程序并不能解决问题。

    也就是说,如果可以简单地将您的应用程序拖放到“/Applications”,那么分发一个“.dmg”文件,其中包含您的应用程序,并附有将其拖放到“/Applications”的说明。比依赖“*.pkg”和“*.mpkg”安装程序更好的分发应用程序的方法。使用 *.pkg 和 *.mpkg 安装程序也有一些主要缺点……它们可以很容易地破坏权限并破坏重要的系统文件,因此拖放解决方案更安全、更简单、更清洁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      相关资源
      最近更新 更多