Использование PackageMaker для запуска сценария при установке

StackOverflow https://stackoverflow.com/questions/640701

  •  22-07-2019
  •  | 
  •  

Вопрос

У меня есть приложение, для которого мне нужно создать установщик, и все, что нужно сделать установщику (кроме копирования приложения), — это запустить сценарий (или исполняемый файл), который не является частью самого приложения.Любая помощь о том, как я могу это сделать?я вижу в Требования вкладка есть Результаты сценария действие, а также есть Действия перед установкой в Действия вкладка, на которой есть Открыть файл действие.Справится ли какой-либо из них со своей задачей или мне следует поискать в другом месте?

Это было полезно?

Решение

Здесь это хорошее практическое руководство

Существует 7 типов скриптов, которые могут быть запущены в процессе установки:

УстановкаПроверка:Этот скрипт запускается в начале процесса установки (еще до этапа Аутентификации).Его можно использовать для проверки возможности установки пакета на этот компьютер.

Проверка объема:Этот сценарий запускается на этапе «Выбор места назначения».Он используется для определения того, на каком томе может быть установлен Пакет.

предполетная подготовка:Этот скрипт запускается сразу после того, как пользователь нажал кнопку «Установить».

предустановка/предобновление:Этот скрипт запускается после предполетного скрипта, если он есть (в случае установки одного пакета);в противном случае сразу после того, как пользователь нажал кнопку «Установить».

Как видите, здесь есть 2 типа скриптов.Предустановочный запускается, когда Пакет еще не был установлен (с точки зрения Installer.app), предобновляемый запускается, когда Пакет уже установлен.Чтобы определить, установлен ли уже пакет или нет, Installer.app просматривает содержимое следующего каталога:/Библиотека/Квитанции.Если внутри него есть файл с именем PackageName.pkg, то пакет уже установлен, в противном случае это первая установка.

постустановка/постобновление:Этот скрипт запускается после установки файлов пакета.См. (предустановка/предварительное обновление), чтобы узнать, какой из них запущен.

послеполетный:Этот скрипт запускается после скрипта postinstall/postupgrade или после установки пакета.

Другие советы

Мне только что удалось включить скрипт Shell в свой пакет, который я сделал с PackageMaker. Мне нужно было добавить приложение к элементам входа в систему после установки, поэтому я создал скрипт с именем postflight.sh и поместил его в папку. (кажется, это работает с любым местоположением)

А потом в моей упаковке есть Приложения. В разделе «Содержимое, пакет: приложения» на вкладке «Сценарии» я выбираю postflight.sh в разделе «Postflight». Вот и все.

мой postflight.sh начинается с

#!/bin/bash

и затем есть некоторый скрипт для помещения приложения в элементы входа в систему. Когда у меня не было этого, я мог сделать пакет, но установка не удалась. Надеюсь, это полезно.

Эта инструкция по использованию PackageMaker устарела, но она есть некоторая очень полезная информация о сценариях на полпути вниз. Найдите таблицу, в которой показаны переменные командной строки, видимые из shell и perl, а также некоторые полезные значения состояния выхода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top