Я сделал пакет, который включает 2 компонента в соответствии с файлом --component-plist
. на файл Plist я добавил следующий флаг, чтобы предотвратить понижение версии:pkgbuild OSX, Принудительный отказ установки в случае понижения
BundleIsVersionChecked: Don't install bundle if newer version on disk? (bool)
, когда я выполняю сценарий понизить, я получаю следующее сообщение:
Sep 15 11:42:49 os-x-10 installd[284]: PackageKit: Skipping component \
"com.my.driverAE21E" (<current_version>) because the version \
<new_version> is already installed at <my_component>
Это, как ожидается, но, к сожалению, установка и другой компонент правильно установлен, а также сценарии preinstall
и postintsall
- поэтому я получаю смесь обеих версий.
Есть ли способ принудительно выполнить проверку версии компонента до любой попытки их фактической установки и остановить процесс установки, если проверка не прошла.
UPDATE:
Другой подход, который может помочь мне, чтобы предотвратить ход Preinstall и послеустановочные сценариев в случае попытки понизить производится.
Я видел ссылку на неотвеченный вопрос по этому вопросу here.