PackageMaker的“包含root in package”选项实际上做了什么?

时间:2011-08-03 09:06:00

标签: macos packagemaker

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

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

例如,假设我的内容是单个.app包,Confused.app。我想将它安装到/Applications(目的地)。在这种情况下,“在包中包含root”究竟是什么意思?如果不加以检查,安装程序绝对不会做任何事情,就我所见。

是否有更好的示例案例可以澄清选项的含义?

2 个答案:

答案 0 :(得分:6)

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

  • 如果选中“在包中包含root”选项,它会执行您可能期望的操作,即将Confused.app安装到/ Applications中。
  • 如果您没有选中“在包中包含root”选项,它会将 Confused.app的内容安装到/ Applications中 - 即最终使用/ Applications / Contents文件夹。这可能是没有选项的测试。

禁用“包括根...”的预期用法是您在构建计算机上创建代理应用程序文件夹,将其指定为有效负载源,并将应用程序放入该文件夹中。如果您一次安装多个应用程序,或者安装到/ Applications之外的其他位置(例如,创建代理根文件夹,创建应用程序和库/应用程序支持子文件夹,并将安装目标设置为“/”),这将更有用。

答案 1 :(得分:1)

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

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

安装简单文件时,IRIP标志已设置但显示为灰色:您别无选择,指定文件将安装在目标位置。

安装目录时,IRIP标志不会显示为灰色但可编辑: - 设置时:目录及其内容安装在目标位置 - 清除时:仅在目的地安装目录内容