安装时如何获取原来的*.pkg文件目录?
我创建了一个 pkg 文件,并将其与另一个文件(如
test.txt
)放入同一文件夹中,如 ~/Desktop/test
当安装 pkg 文件时,我希望它将“test.txt”文件复制到 ~/Library 文件夹。 因此,我将安装前/安装后脚本添加到 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 - Script path
$1 - Package path
$2 - Target location
$3 - Target volume`
参数 $1 应该会给你你正在寻找的东西。
从旧的捆绑样式格式信息复制,但似乎仍然适用于较新的扁平包。
这个 Mac 安装者博客 有一些关于 Packagemaker 的有用帖子,包括有关使用方法和常见问题解决方案的详细信息。
这个:
pkgpath=\`dirname "$PACKAGE_PATH"\`
将为您提供变量中包的路径
$pkgpath
。
我有一个后续问题。 在我的电子应用程序中,我正在使用电子生成器创建 .pkg。 我正在添加这样的额外资源
"extraFiles": [
{
"from": "./node_modules/audio-library/package/out/Release/AudioDriver.driver",
"to": "Resources/AudioDriver.driver"
}
],
现在在安装过程中我希望将此驱动程序复制到 /库/音频/插件/HAL/文件夹
我想要一个安装后脚本,我可以在其中找到 AudioDriver.driver 的路径,以便我可以将其复制到 HAL 文件夹中
我尝试了安装后脚本
SCRIPT_DIR=$(dirname $1)
DRIVER_PATH="${SCRIPT_DIR}"
cp -a "$DRIVER_PATH" /Library/Audio/Plug-Ins/HAL/
但是我没有找到驱动程序文件,它复制了许多文件夹,但没有 AudioDriver.driver 文件,所以我在哪里可以找到我在 postInstall 脚本期间添加到 extraResources 中的 AudioDriver.driver 文件
有人可以帮我在安装后脚本中找到 AudioDriver.driver 的路径