OS X安装程序包如何计算所需空间?

时间:2009-11-25 16:17:49

标签: macos installer

我正在为产品构建OS X Installer程序包。运行时,“选择目标”窗格中有“安装此软件需要X MB空间”标签。但是我可以在同一台机器上运行相同的包两次,并且看到声称的使用量从85到127 MB不等,这两者都不是实际的~65MB产品使用量。

安装程序如何计算所需空间?

3 个答案:

答案 0 :(得分:5)

安装程序.pkg文件包含几个组件:

  • 要安装的文件存档
  • 材料清单(列出所有可安装文件的元数据)
  • 安装本身的资源(图像,脚本等)
  • 包含版本信息的Info.plist和默认值

物料清单或“BOM”包含权限,文件大小,校验和等信息。当安装程序第一次运行包时,BOM中列出的文件大小总和用于估计所需的大小。 (如果有任何共享组件,这显然会影响总数。)

安装完成后,BOM将保存在包裹收据文件夹(/Library/Receipts/boms)中,作为已安装内容的记录。 lsbom实用程序可用于检查这些文件的内容。

在后续安装相同软件包(由软件包标识符确定)时,将查询BOM收据以确定已安装的文件及其总大小。现有的未更改文件总计并从要安装的新文件中减去,同时也考虑需要替换旧文件的更新文件。 pkgutil工具可用于显示有关已安装软件包的信息。

因此,这就是安装大小估计可能因安装而异的原因。新文件和现有文件会添加到总数中,而现有的未更改文件会从安装要求中减去。

答案 1 :(得分:1)

安装程序是否可以包含程序在文件大小中使用的任何其他文件(Frameworks,StartupItems,Drivers等)?如果是这样,那么您遇到的尺寸变化可能是因为您没有在某一点上拥有这些文件,而是将它们放在另一个地方?

当然,我可能错了=]

答案 2 :(得分:0)

我可能错了,但我猜这是开发人员设定的一个批评。你会说“安装这个软件需要120 MB空间”这样的东西

我知道当我在我的Mac上安装产品时,我会看到它所说的内容,并且我看到了目前可用的内容,但我从来没有进去并实际检查该软件是否完全按照它所说的那样使用。特别是如果它只有大约50MB。