Как установить несколько пакетов и пост-обработку?
Я нахожусь в уникальном сценарии - так и должно быть, потому что поиски, которые я делаю, не дают никаких ответов. Но, может быть, есть гуру MacOS X, который может ответить на этот вопрос для меня?
Я использую PackageMaker для создания процесса установки приложения моей компании. Это кроссплатформенное приложение, и моя домашняя база - Linux и Windows, поэтому, пожалуйста, прости мой интеллект MacOS X.
У нас есть два пакета программного обеспечения - приложения. Одним из них является Other.app, разработанный сторонней компанией, с которой мы "связываем" наше программное обеспечение. Наше приложение Stats.app. Наше приложение будет работать как агент запуска, поэтому, соответственно, у меня есть файл.plist, который работает, когда я устанавливаю вручную в терминал.
Мои цели процесса установки таковы:
- Установите Other.app в / Applications
- Установите Stats.app в / Users /<пользователь>/ Applications (см. ПРИМЕЧАНИЕ).
- Установите Stats.plist в / Users /<пользователь>/ Library / LaunchAgents
Постобработка Stats.plist для изменения ключа "ProgramArguments", чтобы путь был правильным:
<Массив>
<Строка>% {HOME} /Applications/Stats.app/Contents/MacOS/Stats строка>
Массив>Выполните несколько простых команд:
/Application/Other.app/Contents/MacOS/Other --configure = config.txt
Проверьте коды выхода и, если все хорошо, сообщите пользователю, что мы закончили.
Я надеюсь - нет... молиться! - что у кого-то есть информация о том, как это можно сделать.
Для пояснения, Stats.app не обязательно должен находиться в домашнем каталоге пользователя. Требуется, чтобы агент запуска находился в домашнем каталоге, поскольку для работы Stats.app требуется работающий Carbon.
2 ответа
Вы можете попробовать скрипт bash, который установит приложения в нужный каталог, а в скрипте использовать sed, чтобы внести изменения в файл Stats.plist.
Используйте сценарии после установки / обновления для каждого пакета, чтобы выполнить переписывание. Разные версии PackageMaker выглядят по-разному, и на какие системы вы нацеливаете, также влияют на пользовательский интерфейс, так что поищите.
Я убежден, что Apple создала PackageMaker как "рубашку для волос" для разработчиков, нацеленных на их платформу, потому что жизнь была слишком легкой и хорошей с Interface Builder, Cocoa и Xcode. Удачи!
Также: не доверяйте правильной обработке разрешений; пусть ваши сценарии после установки / обновления (как правило, один и тот же набор сценариев для обоих) проходят через chmod и разбивают ваши файлы. Нет необходимости в sudo, вы уже работаете как root.
Также также: PackageMaker не может справиться с установкой структуры каталогов, которая содержит символические ссылки на каталоги, которые создают цикл. Это включает в себя некоторые платформы, распространяемые Apple, такие как DotMacKit.