Первая часть статьи здесь.

В качестве примера продемонстрируем создание установочного пакета Mozilla Firefox 31.5.3 esr в среде Pakage Maker. Firefox достаточно популярен среди наших заказчиков и при этом является достаточно показательным.

Для начала скачаем последнюю версию пакета с официального сайта (на момент написания статьи была доступна Mozilla Firefox 31.5.3 esr). Запускаем DMG файл на MAC-машине. Firefox.app переносим в Applications:

image
(под катом много фото)


Запускаем Firefox -> Don’t import anything

image

Default Browser -> выставляем галочку, чтобы больше окошко не появлялось и нажимаем No

image

Options -> General установим домашнюю страничку www.google.ru в поле Home Page

image

Options -> Data Choices отключим Enable Telemetry и Enable Firefox Health Report

image

Options -> Update выберем Never check for updates

image

Далее создаем проектную папку Mozilla Firefox 31.5.3 esr куда будем помещать все файлы, которые нужны будут для пакета. Запускаем Package Maker, заполняем Organization и Minimum Target, как показано на картинке:

image

Прописываем заголовок Title:

image

Из Applications выбираем Firefox.app и копируем в проектную папку (Mozilla Firefox 31.5.3 esr), далее переносим в Contents. Создается новый Choice, в котором прописываем Choice Name, Identifier.

image

Ставим путь установки (Destination) и заполняем Package Identifier, в дальнейшем данный идентификатор используется для Upgrade.

image

Выдаем права для Firefox.app root:wheel, как показано ниже:

image

На вкладке Components снимаем галочку Allow Relocation, иначе приложение может не попасть в нужную папку при проверочной установке.

image

Копируем пользовательские настройки, которые хранятся в ~/Library/Application Support/Firefox, предварительно удалив всё ненужное в проектную папку и создав еще один Choice.

image

В поле Destination выставляем путь, откуда будут копироваться пользовательские настройки.

image

Назначаем права root:wheel, как показано ниже:

image

Для копирования настроек пользователям создаем mozilla.firefox.plist файл, в котором прописываем следующее:

image

Program Arguments указываем путь на скрипт, который будет исполняться при первом входе пользователя в систему. После этого создаем еще один Choice.

Обратите внимание на флаг LaunchOnlyOnce и RunAtLoad, т.е. запускать скрипт при входе пользователя в систему и только один раз.

image

Данный plist файл устанавливаем в /Library/LaunchAgents

image

И выдаем права, как показано ниже:

image

Создаем скрипт applysettings.sh, который будет копировать из "/Library/Cashes/Mozilla пользователю:

#!/bin/sh
/bin/cp -r "/Library/Cashes/Mozilla/" ~/Library/Application\ Support/

Создаем еще один Choice для скрипта:

image

Задаем Destination и Package Identifier:

image

Права назначаем те же что и для Choice Application

После того как все настройки были применены, для пакета делаем Project-> Build

image

Делаем Save и ждем готовый пакет.

image

Демонстрационный пакет готов, и можно его проверить на клиентской машине. После установки необходимо сделать log-off, чтобы были применены настройки для пользователя (скрипт запускается через launch agents).

Также хотелось бы добавить, что Package Maker поддерживает apple script, который может быть запущен до и после установки пакета. Еще приятной особенностью Package Maker является набор шаблонных скриптов, таких как: Get Application, Kill Application, Open File, Open URL. Они могут быть запущены в начале или в конце установки пакета.

Для удобства разработки и тестирования пакетов нами был разработан целый ряд скриптов, утилит (программ), которые позволяют нам увеличить скорость разработки решений и поддерживать их высокое качество, но об этом более подробно расскажем в следующей статье.

Полученный PKG пакет можно развернуть с помощью тех же систем развертывания (например, SCCM 2012) на тысячи компьютеров в несколько кликов, при этом нет необходимости в его конфигурировании на пользовательской стороне. В итоге — пользователи счастливы, как и мы :)

Автор: Eduard123
Каким образом Вы управляете Mac OS приложениями в Вашей компании?

Проголосовало 64 человека. Воздержалось 36 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Комментарии (0)