如何使用pkgbuild为$ HOME指定默认安装位置?

时间:2012-10-12 17:09:36

标签: macos installer pkgbuild

我正在将我们的安装程序从PackageMaker移植到pkgbuild,并且我尝试将默认安装位置设置为当前用户的主目录,并且仍允许用户在系统范围内安装。

在我的分发文件中,我有enable_currentUserHome =“true”和enable_localSystem =“true”,它正确地允许用户“为这台计算机的所有用户安装”或“仅为我安装”。但是,我希望默认选择“仅为我安装”。

pkgbuild有一个“--install-location”的命令行选项,手册页中指的是默认位置,但是没有提到如何指定主目录。我试过“〜”和“$ HOME”但没有运气。是否有一些我不知道的宏?

有没有人知道如何告诉pkgbuild默认安装在当前用户的主目录下?

提前致谢!

-Owen

2 个答案:

答案 0 :(得分:5)

pkgbuild为您生成组件包。虽然组件包可以单独安装,但它通常包含在产品存档中。在产品存档中,您可以设置安装域,如localSystem和home。

例如,如果选择本地系统域,pkgbuild --install-location /Application会按预期将其安装到/ Application中;如果选择了主安装,则将Known Issues and Workarounds安装到$ HOME / Application中。

也就是说,我非常不鼓励使用安装程序进行主文件夹安装。它只是在现实世界中不起作用。

请参阅Making OS X Installer Packages中的{{1}}部分以及Installer Problems and Solutions

答案 1 :(得分:0)

一种解决方法是设置分发文件参数如下:

enable_localSystem="false" 
enable_anywhere="true" 
enable_currentUserHome="true"

默认情况下将选择家庭安装,因为它是启用的第一选择。

选择Install on a specific disk... - >用户仍然可以在系统范围内安装。 Macintosh HD。 缺点:用户不像直接选择那样容易:Install for all users of this computer