7

我们目前使用 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 时是否可以(如果可以,如何)包含安装程序的许可证文件?

提前致谢。

伊恩

4

1 回答 1

9

在作为参数传递给 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"
于 2013-03-15T12:03:33.977 回答