Mac OSx PKG 预安装脚本问题

Mac OSx PKG preinstall script issue

我在 linux 机器上为 Mac OS X 创建的 PKG 中的 运行 预安装脚本有问题。

我的问题是,预安装脚本没有执行,安装程序成功完成,即使是我的脚本也会导致失败。

我在硬盘上准备了如下目录结构:

./Applications
./Resources
./Scripts

通过 运行 以下命令:

mkdir -p Payload.pkg
chmod -R a+w Applications
chmod a+x Scripts/preinstall

mkbom -u 0 -g 0 Applications Payload.pkg/Bom

find Applications | cpio --owner 0:0 -H odc -o | gzip -c > Payload.pkg/Payload

pushd Scripts
find . | cpio --owner 0:0 -H odc -o | gzip -c > Payload.pkg/Scripts
popd

chmod a+x Payload.pkg/Scripts

xar --compress none -cf MyApp.pkg Distribution Resources Payload.pkg

我创建了具有以下结构的包:

My package.pkg
    +--Distribution
    +--Resources
        +--welcome.rtf
    +--Payload.pkg
        +--Scripts
        +--Bom
        +--PackageInfo
        +--Payload

我的预安装脚本有以下内容:

#!/bin/bash
##preinstall

pathToScript=[=15=]
pathToPackage=
TargetLocation=
targetVolume=

exit 1

这应该是导致安装程序失败的原因。然而事实并非如此。似乎没有调用该脚本。

有人可以帮我吗?

如果要调用脚本,需要将其包含在 PackageInfo<scripts> 部分,如下所示:

  <scripts>
      <preinstall file="./preinstall"/>
  </scripts>

来源:https://hogliux.github.io/bomutils/tutorial.html