我正在为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>
元素似乎不起作用。。。
我最终在分发定义中添加了以下内容:
<options rootVolumeOnly="true"/>
rootVolumeOnly
已被弃用,但它目前有效,而domains
似乎不起作用。
使用域方法似乎不起作用,因为UI不是最好的。"更改安装位置…"按钮仍然可见,但如果单击它,则仅启用"为该计算机的所有用户安装"选项。
2019更新:
<options rootVolumeOnly="true"/>
仍然可以正常工作,并在安装过程中跳过Destinationselect选项。
由于rootVolumeOnly
已弃用,Distribution.xml中的以下选项具有相同的行为,并且也跳过Destination。
<domains enable_anywhere="false" enable_currentUserHome="false" enable_localSystem="true"/>