我正在使用 pkgbuild 在 OS X 上构建一个简单的软件包,该软件包由一个文件夹和安装前/安装后脚本组成。当我尝试执行生成的包时,安装程序失败,日志中显示以下消息:
11 月 1 日 13:28:11 本地主机安装[631]: ./预安装: 2013-11-01 13:28:11.074 已安装[637:203] * NSTask: 为路径 '/tmp/PKInstallSandbox.P6mPx2/Scripts/com.xyz.utility.pkg.TWwYct/preinstall' 创建的任务失败: 22, "无效参数"。 终止临时进程。
安装程序以 root 用户身份运行。问题似乎不在于脚本的内容,因为即使我将它们使用解释器声明剪切到简单的"exit 0",它们也会失败。此问题发生在 10.8.2 和 10.8.4 上。
该问题看起来像是从NSTask对象中抛出的异常,但我得到的只是这个22错误代码和"无效参数"消息。我认为此消息可能是指NSInvalidArgumentException。我确保脚本确实被放置在错误消息中列出的临时位置,并且它们具有正确的权限。
关于导致此类错误消息的原因的任何想法?当我进行一些搜索时,我发现了对此错误的几个引用,但似乎没有统一的原因或解决方案。
将#!/bin/sh
标头添加到预安装脚本中。