1

我在为 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

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

有人可以帮我吗?

4

1 回答 1

0

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

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

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

于 2016-02-04T15:09:26.953 回答