OSX pkgbuild: поместите список пакетов в загрузочный диск при установке на альтернативный том

Мы создаем установщик для аудио-плагина, используя pkgbuild. Он состоит из нескольких пакетов (VST, AU, Content, Presets и т. Д.).

Поскольку контент довольно большой, мы хотим разрешить пользователям устанавливать пакет контента на внешние диски. Я понял, что работаю с соответствующими настройками в distribution.xml (customLocationAllowAlternateVolumes="Yes"). Однако, когда содержимое установлено на такой внешний диск, программа установки также помещает файлы.plist и.bom на внешний диск в папку /Library/Receipts (которую он создает) на этом диске (см. Снимок экрана).

Эта структура папок создается на внешнем диске:

Это создано на внешнем диске

Как я могу добиться, чтобы эти файлы помещались на загрузочный диск независимо от того, на какой диск установлен пакет содержимого?

Вот скрипт pkgbuild:

#!/bin/bash

# Name of the package.
NAME="<OurProductName> Content"

IDENTIFIER="com.<OurCompanyName>.content.pkg.<OurProductName>"

# Package version number. The correct number will be set in the build process.
VERSION="1.0.1"

INSTALL_LOCATION="/Library/Application Support/<OurCompanyName>/<OurProductName>"
ROOT_LOCATION="content/"

# Remove any unwanted .DS_Store files.
find "$ROOT_LOCATION" -name '*.DS_Store' -type f -delete
chmod -R +r "$ROOT_LOCATION"

# Build package.
/usr/bin/pkgbuild \
    --root "$ROOT_LOCATION" \
    --install-location "$INSTALL_LOCATION" \
    --identifier "$IDENTIFIER" \
    --version "$VERSION" \
    --scripts Scripts \
    "$NAME.pkg"

Это соответствующий фрагмент из файла дистрибутива:

<pkg-ref id="com.<OurCompanyName>.content.pkg.<OurProductName>" version="1.0.1" auth="Admin" onConclusion="None">Some%20Product%20Name%20Content.pkg</pkg-ref>
<choice id="Content" title="<OurProductName> Content" start_visible="true" start_selected="true" start_enabled="true" customLocation="/Library/Application Support/<OurCompanyName>/<OurProductName>" customLocationAllowAlternateVolumes="Yes" description='You can change the file location for the plugin content file. Click on the folder name in "Location" to select a different one.'>
    <pkg-ref id="com.<OurCompanyName>.content.pkg.<OurProductName>"/>
</choice>

0 ответов

Другие вопросы по тегам