2009-09-14 5 views
8

Tutto ha funzionato su 10.5, ma ora il mio progetto di installazione di PackageMaker è rotto. Ho combattuto un problema per un paio di giorni ormai, e siaLe installazioni di PackageMaker con script di preinstallazione sono state interrotte su Snow Leopard?

  • Snow Leopard (OS X 10.6.1) ha rotto installazioni PackageMaker
  • mi manca un bocconcino molto, molto di base di conoscenza

per circoscrivere il problema, ho ottenuto fino a questo punto:

  1. creare una nuova installazione PackageMaker
  2. averlo installato un'immagine JPEG in casa mia Directoy
  3. definire uno script preinstall che non fa nulla
 
    #!/bin.sh 
    exit 0 

Eseguire il sopra ... e guardarlo non riuscire con il seguente messaggio di errore come il lavoro dell'orologio

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.'. 

Non c'è alcun file in /private/tmp/PKInstallSandbox.cmlS2H/Scripts/test.test.5year_header.pkg.PFrHNB/, il che mi fa pensare che il problema sia con PackageMaker e non con me. Ma sono nuovo nel mondo dell'installazione del software OS X, quindi permangono i dubbi.

Quindi, la domanda: PackageMaker con uno script di preinstallazione è rotto su OS X 10.6? O c'è qualche requisito relativo agli script di preinstallazione che non capisco?

+0

Sembra che la linea shebang è sbagliato. Forse dovrebbe essere "#!/Bin.sh" –

+0

Oops. Funziona ancora, ma questa è una buona presa ... lo proveremo. –

risposta

0

Ho avuto lo stesso problema. Controlla la prima riga del tuo script. Nel mio caso il ! mancava dal #!/bin/sh

2

"percorso di lancio non accessibile" può benissimo avere a che fare con cui il software è zippare e/o decomprimere il PKG.

Quindi, stavo avendo il problema che il mio script Postflight non era in esecuzione e stava causando il fallimento del mio PKG. Guardando il log dell'installatore (per vedere questo eseguire il PKG in questione, quindi la voce di menu 'Finestra> Registro installatore' e selezionare 'Mostra tutti i registri' dal menu a discesa) ho visto il temuto 'percorso di lancio non accessibile' quando stava provando a eseguire script (rinominato da PackageMaker a 'postflight').

Il problema si presentava solo sui sistemi del mio cliente. E 'stato un vero punto fermo in quanto entrambe le mie macchine di prova per Mac non hanno avuto problemi a far funzionare il PKG ei loro ambienti sembravano essere gli stessi delle macchine del cliente.

Quindi in un oscuro post su un sito Web di Symantec ho visto che qualcuno ha scoperto che questo problema ha a che fare con il modo in cui il PKG viene compresso e/o decompresso.

Abbastanza sicuro. Il mio cliente stava scaricando il PKG da DropBox e il modo in cui DropBox lo stava comprimendo rovinava qualcosa all'interno del PKG.

La soluzione era per me per ZIP il PKG sul mio sistema prima di caricare su DropBox e poi tutto funzionava a meraviglia.

5

Ho avuto lo stesso problema e ho impostato le autorizzazioni eseguibili per gli script risolti per me!

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

trovato questa soluzione in this thread at golang-nuts groups

+1

Ho scoperto che anche l'aggiunta dell'autorizzazione di esecuzione al file originale stesso (prima di creare il file di installazione) funziona. In questo modo, non dovrai manomettere il file pkg. – casvaart