【问题标题】:How to include installer dependencies in dmg/pkg on mac如何在 mac 上的 dmg/pkg 中包含安装程序依赖项
【发布时间】:2015-10-02 03:00:51
【问题描述】:

我有一个 mac 应用程序(例如 Sample.pkg 包含 Sample.app)以及一些 pkg 依赖项(例如 A.pkg 和 B.pkg )。每当用户运行与这三个软件包捆绑在一起的dmg/product 存档时,必须先运行A.pkgB.pkg,然后再安装Sample.pkg

有没有一种方法可以在打包 mac 应用程序时指定此依赖项,而无需用户手动检查并以正确的顺序安装它们?

【问题讨论】:

  • 哇,看到这个问题没有答案真是太难过了!
  • 我正在尝试解决完全相同的问题。 4年过去了,没有答案。 @SumalathaAbhishek 您是否设法找到任何解决方案或解决方法?

标签: macos installation dmg pkgbuild


【解决方案1】:

解决方案

有办法。 您可以将此类条目添加到您的distribution.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<installer-gui-script minSpecVersion="1">
    <title>Application name</title>
    <organization>com.organization</organization>

    ....

    <volume-check>
        <required-bundles description="Some message which UI Installer doesn't show :(">

            <!-- bundle 1 -->
            <bundle id="com.organization.app1" path="Applications/App1.app" />

            <!-- bundle 2 -->
            <bundle id="com.organization.app2" path="Applications/App2.app" />
        </required-bundles>
    </volume-check>

    ....
</installer-gui-script>

这里记录了(required-bundles)

一些例子可以是found on github

缺点

Apple 安装程序中存在一些错误,required-bundles description 说:

属性

|----------------|------------------|------------------------------------------------------------|
| Attribute name |       Type       |                       Description                          |
|----------------|------------------|------------------------------------------------------------|
|                |                  | _Optional._ Values: `true` (default) to require all of     |
|     `all`      |     Boolean      | the specified bundles, or `false` to require at least one  |
|                |                  | of them.                                                   |
|----------------|------------------|------------------------------------------------------------|
|  `description` |   String,        | _Optional._ A description of the required bundles,         |
|                | localization key | displayed to the user if the requirement is not met.       |
|----------------|------------------|------------------------------------------------------------|

所以应该显示来自description 的消息,但我在任何地方都看不到它,所以用户可能会感到困惑,为什么他无法安装应用程序。

它只是警告:You can't install &lt;your application&gt; here, &lt;your application&gt; do not allow it.(抱歉从我的本地化翻译回英文)。

另类

我看到一些安装包正在运行自定义脚本表单 installation-check 从安装 JavaScript 调用它,使用 system.run('script_name')

【讨论】:

    猜你喜欢
    • 2014-07-17
    • 1970-01-01
    • 2015-04-01
    • 2014-08-23
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多