Не работают ли установки PackageMaker со сценариями предварительной установки на Snow Leopard?

Все работало на 10.5, но теперь мой проект установки PackageMaker не работает. Я борюсь с проблемой уже несколько дней, и либо

  • Snow Leopard (OS X 10.6.1) нарушил установку PackageMaker
  • Мне не хватает очень, очень элементарных знаний

Чтобы сузить проблему, я дошел до этой точки:

  1. Создайте новую установку PackageMaker
  2. Попросите его установить изображение в формате jpeg в мою домашнюю директорию
  3. Определите preinstall скрипт, который ничего не делает
    #!/bin.sh
    exit 0

Запустите приведенное выше ... и посмотрите, как он терпит неудачу с сообщением об ошибке ниже, например, часы работают

Sep 14 15:09:45 manoa installd[5620]: PackageKit: ----- Begin install -----
Sep 14 15:09:45 manoa installd[5620]: PackageKit: request=PKInstallRequest <1 packages, destination=/>
Sep 14 15:09:45 manoa installd[5620]: PackageKit: packages=(\n    "PKLeopardPackage <file://localhost/Users/stu/Desktop/asdf.pkg>"\n)
Sep 14 15:09:46 manoa installd[5620]: PackageKit: Extracting /Users/stu/Desktop/asdf.pkg (destination=/var/folders/Hb/HbXJFyEpFaupt5QyLN-pTk+++TI/-Tmp-/PKInstallSandbox-tmp/Root/~, uid=501)
Sep 14 15:09:46 manoa installd[5620]: PackageKit: Executing script "./preinstall" in /private/tmp/PKInstallSandbox.cmlS2H/Scripts/test.test.5year_header.pkg.PFrHNB
Sep 14 15:09:46 manoa installd[5620]: PackageKit: *** launch path not accessible
Sep 14 15:09:46 manoa installd[5620]: PackageKit: Install Failed: PKG: pre-install scripts for "test.test.5year_header.pkg"\nError Domain=PKInstallErrorDomain Code=112 UserInfo=0x100149430 "An error occurred while running scripts from the package “asdf”." {\n    NSFilePath = "./preinstall";\n    NSLocalizedDescription = "An error occurred while running scripts from the package \U201casdf\U201d.";\n    NSURL = "file://localhost/Users/stu/Desktop/asdf.pkg";\n    PKInstallPackageIdentifier = "test.test.5year_header.pkg";\n}
Sep 14 15:09:46 manoa Installer[5614]: install:didFailWithError:Error Domain=PKInstallErrorDomain Code=112 UserInfo=0x1195917c0 "An error occurred while running scripts from the package “asdf”."
Sep 14 15:09:46 manoa Installer[5614]: Install failed: The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.
Sep 14 15:09:47 manoa Installer[5614]: IFDInstallController 144040 state = 7
Sep 14 15:09:47 manoa Installer[5614]: Displaying 'Install Failed' UI.
Sep 14 15:09:47 manoa Installer[5614]: 'Install Failed' UI displayed message:'The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.'.

В /private/tmp/PKInstallSandbox.cmlS2H/Scripts/test.test.5year_header.pkg.PFrHNB/ нет файла, поэтому я думаю, что проблема в PackageMaker, а не во мне. Но я новичок в мире установки программного обеспечения OS X, поэтому сомнения остаются.

Итак, вопрос: Не работает ли PackageMaker со сценарием предварительной установки в OS X 10.6? Или есть ли какие-то требования в отношении сценариев предварительной установки, которых я не понимаю?


person Stu Thompson    schedule 14.09.2009    source источник
comment
Кажется, твоя шебанг-линия неправильная. Может быть, это должно быть #! / Bin.sh   -  person Laurent Etiemble    schedule 03.12.2009
comment
Ой. Он все еще работает, но это хороший улов ... попробую.   -  person Stu Thompson    schedule 03.12.2009


Ответы (3)


У меня была такая же проблема, и установка разрешений на исполняемые файлы для скриптов решила ее для меня!

pkgutil --expand my.pkg my 
chmod +x my/inner.pkg/Scripts/preinstall 
pkgutil --flatten my my-fixed.pkg 

Нашел это решение в этой теме в группах golang-nut

person yairchu    schedule 13.11.2013
comment
Я обнаружил, что добавление разрешения на выполнение к самому исходному файлу (перед созданием файла установщика) тоже работает. Таким образом, вам не придется вмешиваться в файл pkg. - person realenginerd; 08.03.2018
comment
Holy Cow - Большое вам спасибо. Это помогло. - person KamyFC; 14.01.2020

«Путь запуска недоступен» вполне может иметь отношение к тому, какое программное обеспечение архивирует и / или разархивирует PKG.

Итак, у меня возникла проблема, заключающаяся в том, что мой скрипт после полета не работал и приводил к сбою моего PKG. Посмотрев на журнал установщика (чтобы увидеть, как это запустит рассматриваемую PKG, затем выберите пункт меню «Окно> Журнал установщика» и выберите «Показать все журналы» в раскрывающемся списке), я увидел ужасный «путь запуска недоступен», когда он пытался запустить скрипт (переименованный в PackageMaker в postflight).

Проблема проявлялась только в системах моих клиентов. Это был настоящий тупик, поскольку на обеих моих тестовых машинах Mac не было проблем с запуском PKG, и их окружение оказалось таким же, как и на машинах клиентов.

Затем в малоизвестном сообщении на веб-сайте Symantec я увидел, что кто-то обнаружил, что эта проблема имеет какое-то отношение к тому, как архивируется и / или разархивируется PKG.

Конечно же. Мой клиент загружал PKG из DropBox, и то, как DropBox заархивировал его, повредило что-то внутри PKG.

Решением было заархивировать PKG в моей системе перед загрузкой в ​​DropBox, и тогда все заработало.

person rushkeldon    schedule 15.09.2013

У меня такая же проблема. Проверьте первую строку вашего скрипта. В моем случае ! отсутствовал в #!/bin/sh

person Gabor Forgacs    schedule 03.03.2011