安装时如何获取原始* .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)
安装时有人知道如何获取原始目录吗?
答案 0 :(得分:8)
你创造了一个扁平的包裹?您是否尝试查看传递给postinstall脚本的参数?
$0 - Script path
$1 - Package path
$2 - Target location
$3 - Target volume`
参数$ 1应该可以为您提供所需的信息。
从old bundle style format information复制,但似乎仍适用于较新的扁平套餐。
答案 1 :(得分:2)
此Mac Installers Blog有一些关于Packagemaker的有用帖子,包括有关常见问题的使用和解决方案的详细信息。
答案 2 :(得分:2)
此:
pkgpath=\`dirname "$PACKAGE_PATH"\`
将为您提供变量$pkgpath
中的包的路径。