【问题标题】:How do you include a preinstall script in an installer built via the packagemaker shell command?如何在通过 packagemaker shell 命令构建的安装程序中包含预安装脚本?
【发布时间】:2011-04-30 06:45:01
【问题描述】:

我正在通过packagemaker 命令作为脚本的一部分创建安装程序。我在stagedRootPath 中创建文件夹层次结构,然后使用--root 参数构建安装程序。问题是我想在安装用户的主目录中安装东西,我不知道什么时候构建安装程序。如果您使用 --root 选项,我怀疑您是否可以在安装路径中进行某种变量替换。

我的解决方法是让预检脚本创建一个指向当前用户主目录的符号链接并通过它安装文件(即ln -s ~ /tmp/home)。我知道如何通过 GUI PackageMaker 应用程序包含脚本,但我不能使用它,因为这是脚本的一部分。

有没有办法通过命令包含它?我必须使用 .pmdoc 还是可以避免使用它?如果我必须使用 pmdoc,我可以通过编程方式创建它吗?

欢迎在安装时主目录中安装其他解决方案。

# my install command
packagemaker --root stagedRootPath -id com.myinstaller --title myInstallerTitle

【问题讨论】:

    标签: macos installation packagemaker


    【解决方案1】:

    事实证明,您可以通过将脚本放入具有正确名称的文件夹并使用--scripts 选项来做到这一点。

     preflight
     preinstall    or preupgrade
     postinstall   or postupgrade
     postflight
    

    (更多详情见man page。)

    【讨论】: