我正在为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>
元素似乎不起作用......
答案 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"/>