我在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
哪个应该导致安装程序失败。但事实并非如此。看来,这个脚本没有被调用。
有人可以帮帮我吗?
答案 0 :(得分:0)
如果您想要调用脚本,则需要将其包含在<scripts>
的{{1}}部分中,如下所示:
PackageInfo