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

Owe*_*kov 6 macos installer pkgbuild

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

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

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

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

提前致谢!

-Owen

cat*_*lan 5

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

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

也就是说,我强烈反对使用安装程序进行主文件夹安装.它只是在现实世界中不起作用.

见我Known Issues and Workarounds在第制作OS X安装的软件包,并安装程序问题和解决方案.

  • 好吧,将软件包安装到用户家中实际上是可行的,并且没有理由阻止它。如果允许将软件包安装在用户的主目录中,则执行此操作的命令行如下: bash-3.2$ installer -package file.pkg -target CurrentUserHomeDirectory 无需在 --install-location 选项中设置任何内容,默认值就可以了。唯一重要的是在分发模板中包含 <domains enable_currentUserHome="true"/>,并在安装程序命令行中使用神奇的 CurrentUserHomeDirectory 目标。 (2认同)