Как установить несколько пакетов и пост-обработку? - PullRequest
3 голосов
/ 29 октября 2010

Я нахожусь в уникальном сценарии - так и должно быть, потому что поиски, которые я делаю, не дают никаких ответов.Но может быть, есть гуру MacOS X, который может ответить на этот вопрос для меня?

Я использую PackageMaker, чтобы создать процесс установки для приложения моей компании.Это кроссплатформенное приложение, и моя домашняя база - Linux и Windows, поэтому, пожалуйста, прости мой интеллект MacOS X.

У нас есть два комплекта программного обеспечения - например, приложения.Одним из них является Other.app, разработанный сторонней компанией, с которой мы «связываем» наше программное обеспечение.Наше приложение Stats.app.Наше приложение будет работать как агент запуска, поэтому, соответственно, у меня есть файл .plist, который работает при ручной установке в терминале.

Мои цели процесса установки таковы:

  1. Установить Other.app в / Applications
  2. Установить Stats.app в / Users / / Applications (см. ПРИМЕЧАНИЕ)
  3. Установить Stats.plist в / Users / /Library / LaunchAgents
  4. Постобработка Stats.plist для изменения ключа "ProgramArguments", чтобы путь был правильным:


    % {HOME} /Applications/Stats.app/Contents/MacOS/Stats

  5. Пост-выполнение некоторых простых команд:

    /Application/Other.app/Contents/MacOS/Other --configure = config.txt

  6. Проверьте коды выхода и, если все хорошо, сообщите пользователю, что мы закончили.

Я надеюсь - нет ... молюсь!- что у кого-то есть информация о том, как это можно сделать.

Чтобы уточнить, Stats.app не обязательно должен находиться в домашнем каталоге пользователей.Требуется, чтобы агент запуска находился в домашнем каталоге, поскольку для работы Stats.app требуется работающий Carbon.

Ответы [ 2 ]

0 голосов
/ 02 июля 2016

Вы можете попробовать скрипт bash, который установит приложения в нужный каталог, и в скрипте использовать sed для изменения файла Stats.plist.

0 голосов
/ 29 октября 2010

Используйте сценарии после установки / обновления для каждого пакета, чтобы выполнить переписывание.Различные версии PackageMaker выглядят по-разному, и на какие системы вы нацеливаете, также влияют на пользовательский интерфейс, так что постарайтесь.

Я уверен, что Apple создала PackageMaker как рубашку для разработчиков, ориентирующихся на их платформу, потому что жизнь была простослишком легко и хорошо с Интерфейсным Разработчиком, Какао и XCode.Удачи!

Также: не доверяйте правильной обработке разрешений;пусть ваши сценарии после установки / обновления (как правило, один и тот же набор сценариев для обоих) проходят через chmod и разбивают ваши файлы.Нет необходимости в sudo, вы уже работаете от имени пользователя root.

Также также: PackageMaker не может справиться с установкой структуры каталогов, которая содержит символические ссылки на каталоги, которые создают цикл.Это включает в себя некоторые платформы, распространяемые Apple, такие как DotMacKit.

...