当前,我们使用productbuild --component将Mac安装程序构建为pkg文件(根据以下文章:Mac app store productbuild)。

这很不错,但是我也希望向该安装程序添加许可证文件。

使用packagemaker,可以指定--resources [path_to_resources_file]选项。如果将License.txt放入指定的资源文件夹中,则安装程序将神奇地包括一个许可证步骤。

尽管productbuild的手册页也介绍了--resources选项,但实际上,这似乎不适用于--component选项。似乎完全忽略了该选项。

根据productbuild手册页,--component选项显然仅包含产品定义plist(我浏览了plist选项,似乎没有应用于许可证文件),组件,可选的安装路径和输出路径。虽然--sign选项也可以。

有谁知道在使用productbuild --component时是否可以(如果可以,如何)包括安装程序的许可证文件?

提前致谢。

伊恩

最佳答案

在作为参数传递给productbuild的分发文件中,包括一个license元素,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<installer-gui-script minSpecVersion="1">
    <title>My Awesome App</title>
    <welcome file="welcome.html" />
    <readme file="readme.html" />
    <license file="license.html" />
    <conclusion file="conclusion.html" />

    <options customize="never" />
    <choices-outline>
        <line choice="install"/>
    </choices-outline>
    <choice id="install" visible="true" title="Install" description="Installation description goes here">
        <pkg-ref id="com.prosc.RemoteExecution.install.pkg">#installer.pkg</pkg-ref>
    </choice>
</installer-gui-script>


这些文件必须存在于传递给productbuild的--resources参数中指定的任何目录中,如下所示:

productbuild --distribution distribution.xml --resources building/ "Mac Installer.pkg"

10-05 20:17