4

安装时如何获取原始 *.pkg 文件目录?

我创建了一个 pkg 文件,并将其与另一个文件(如test.txt)放在同一个文件夹中,如 ~/Desktop/test

并且在安装 pkg 文件时,我希望它将“test.txt”文件复制到 ~/Library 文件夹。所以我将 preinstall/postinstall 脚本添加到 pkg 文件中以复制“test.txt”文件。我尝试让目录使用

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

但它会返回 tmp 目录

/private/tmp/PKInstallSandbox.G5GFI6/Scripts/com.myApp.testApp.pkg.o5k2nE

不是原始的 pkg 目录(~/Desktop/test)

有人知道安装时如何获取原始目录吗?

4

3 回答 3

12

您创建了一个平面包?您是否尝试过查看传递给 postinstall 脚本的参数?

$0 - Script path
$1 - Package path
$2 - Target location
$3 - Target volume`

参数 $1 应该给你你正在寻找的东西。

从旧包样式格式信息复制,但似乎仍然适用于较新的平面包。

于 2012-07-24T17:34:16.650 回答
3

这个Mac 安装程序博客有一些关于 Packagemaker 的有用帖子,包括有关使用的详细信息和常见问题的解决方案。

于 2012-08-14T06:40:14.047 回答
2

这个:

pkgpath=\`dirname "$PACKAGE_PATH"\`

将为您提供变量中包的路径$pkgpath

于 2014-05-16T17:07:24.683 回答