【发布时间】:2017-03-21 19:16:28
【问题描述】:
我需要在根 Audio/Plug-Ins/VST & Components 目录中安装 2 个音频插件。我的安装程序做得很好。但我还需要将预设文件的目录安装到 /Users/$USER/Library/Application Support/MyCompany 文件夹中。
我听说安装程序无法在同一个安装程序中安装到 / 和 ~,但我真的希望它为用户安装 1 次。因此,首先安装 VST 和组件似乎是一个好主意。然后将预设文件夹安装在临时位置(如 /tmp 或类似位置),然后运行安装后脚本将文件移动到用户的库中......但我无法让它工作。
这是我要运行的脚本:
#!/bin/bash
# movePresets.sh
# I want something like this...but it doesn't work because $USER is root in the installer I believe
/usr/bin/sudo -u $USER mkdir -p "/Users/$USER/Library/Application Support/MyCompany/Presets"
/usr/bin/sudo -u $USER mv -r "/tmp/Presets" "$USER/$USER/Library/Application Support/MyCompany"
exit 0
显然,我不知道以 root 身份访问用户目录的正确方法。请帮忙...谢谢。
【问题讨论】:
-
您应该使用
productbuild为此创建一个安装程序包(例如.pkg、.mpkg);它可以完成你提到的一切。 -
post-install.sh 文件在哪里?您可以将该文件添加到用户家中的某个位置,然后使用其位置检索用户家路径。或者只是你可以要求安装后文件必须从用户的主目录(启动它时是终端默认目录)运行。
标签: bash macos installation pkgbuild