我在为 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=$0
pathToPackage=$1
TargetLocation=$2
targetVolume=$3
exit 1
这应该导致安装程序失败。然而事实并非如此。似乎没有调用该脚本。
有人可以帮我吗?