如何在OS X安装程序包中禁用备用卷的选择?

时间:2012-12-28 19:44:32

标签: macos installer package productbuild pkgbuild

我正在为OS X安装一个安装程序包,我无法弄清楚如何禁用询问用户要安装哪个卷的屏幕。我希望它在没有提示的情况下安装到/

以下是我正在构建软件包的方法:

pkgbuild --root build/staging/ --identifier xxxx --scripts InstallerOSX/resources/ --scripts InstallerOSX/scripts/ ${OBJROOT}/AgentPayload.pkg

productbuild --distribution InstallerOSX/distribution.dist --package-path ${OBJROOT} --resources InstallerOSX/resources/ ${BUILT_PRODUCTS_DIR}/AgentInstaller.pkg

这是我的distribution file

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<installer-gui-script minSpecVersion="1">
    <title>xxxx</title>
    <background file="background.png" mime-type="image/png" scaling="tofit"/>
    <pkg-ref id="xxxx"/>
    <options customize="never" require-scripts="false"/>
    <choices-outline>
        <line choice="xxxx"/>
    </choices-outline>
    <choice id="xxxx" title="title" description="desc">
        <pkg-ref id="xxxx"/>
    </choice>
    <domains enable_anywhere="false" enable_currentUserHome="false" enable_localSystem="true"/>
    <pkg-ref id="xxxx" version="0" onConclusion="none">AgentPayload.pkg</pkg-ref>
</installer-gui-script>

<domains>元素似乎不起作用......

3 个答案:

答案 0 :(得分:1)

我最终将以下内容添加到分发定义中:

<options rootVolumeOnly="true"/>

rootVolumeOnly已被弃用,但现在可以使用,而domains似乎不适用。

答案 1 :(得分:0)

使用域方法似乎不起作用,因为UI不是最好的。 “更改安装位置...”按钮仍然可见,但如果单击它,则仅启用“为此计算机的所有用户安装”选项。

答案 2 :(得分:0)

2019更新:

<options rootVolumeOnly="true"/>仍然可以正常工作,并在安装过程中跳过 Destination 选择选项。

由于不推荐使用rootVolumeOnly,因此Distribution.xml中的以下选项具有相同的行为,并且也会跳过 Destination

<domains enable_anywhere="false" enable_currentUserHome="false" enable_localSystem="true"/>