4

我正在为 OS X 应用程序制作安装程序,但无法理解 PackageMaker 的 UI。我的 PackageMaker 版本是 3.0.4,与 Lion 和 Xcode 4.1 一起运行。

特别是一个选项让我感到困惑。编辑包的内容时,它是“在包中包含根”复选框。根据是否检查,我的一些包的内容永远不会安装在任何地方。

例如,假设我的内容是单个 .app 包,Confused.app. 我想将它安装到/Applications(目标)。在这种情况下,“在包中包含根”到底是什么意思?如果未选中,就我所见,安装程序绝对不会执行任何操作。

有没有更好的例子可以阐明选项的含义?

4

2 回答 2

6

假设有效负载(即要安装的源项目)是 Confused.app(其中可能包含一个 Contents 子文件夹,其中包含 Info.plist、MacOS、Resources 等),并且安装目标是 /Applications:

  • 如果您选中“在包中包含根目录”选项,它会执行您可能期望的操作,即将 Confused.app 安装到 /Applications 中。
  • 如果您不选中“在包中包含根目录”选项,它会将Confused.app的内容安装到 /Applications 中——即您最终会得到一个 /Applications/Contents 文件夹。这可能是您没有该选项的测试所做的。

禁用“Include root..”的预期用途是在构建机器上创建一个代理应用程序文件夹,将其指定为有效负载源,然后将应用程序放入该文件夹中。如果您同时安装多个应用程序,或者安装到 /Applications 以外的位置(即创建代理根文件夹,创建 Applications 和 Library/Application Support 子文件夹,并将安装目标设置为“/”),这将更加有用。

于 2011-08-03T15:06:52.897 回答
1

或者......(与上面相同的答案,但措辞不同,这可能会更清楚):

“在包中包含根目录”(IRIP)仅适用于目录或目录下的事物,即应用程序包和捆绑包。

当您安装一个简单文件时,IRIP 标志被设置但呈灰色显示:您别无选择,命名文件将安装在目标位置。

安装目录时,IRIP 标志不是灰显而是可编辑的: - 设置时:目录及其内容安装在目标位置 - 清除时:仅目录内容安装在目标位置

于 2013-01-26T07:24:27.593 回答