Mac OSx PKG预安装脚本问题

时间:2016-02-01 14:37:57

标签: linux macos bash installer pkg-file

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

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

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

./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=$0
pathToPackage=$1
TargetLocation=$2
targetVolume=$3

exit 1

哪个应该导致安装程序失败。但事实并非如此。看来,这个脚本没有被调用。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

如果您想要调用脚本,则需要将其包含在<scripts>的{​​{1}}部分中,如下所示:

PackageInfo

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