3

我正在为 OS X 准备一个安装程序包,但我不知道如何禁用询问用户要安装到哪个卷的屏幕。我希望它在/没有提示的情况下安装。

这是我构建软件包的方式:

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

产品构建--distribution InstallerOSX/distribution.dist --package-path ${OBJROOT} --resources InstallerOSX/resources/ ${BUILT_PRODUCTS_DIR}/AgentInstaller.pkg

这是我的分发文件

<?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>元素似乎没有起到作用......

4

3 回答 3

2

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

<options rootVolumeOnly="true"/>

rootVolumeOnly已弃用,但它现在有效,而domains似乎没有。

于 2012-12-31T22:44:33.463 回答
1

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

于 2013-07-19T17:20:58.643 回答
1

2019 年更新:

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

由于rootVolumeOnly已弃用,Distribution.xml 中的以下选项具有相同的行为,并且也跳过了Destination

<domains enable_anywhere="false" enable_currentUserHome="false" enable_localSystem="true"/>
于 2019-06-13T12:23:44.210 回答