Domanda

Ho un'app per la quale devo creare un programma di installazione, e tutto ciò che il programma di installazione deve fare (oltre a copiare l'app) è eseguire uno script (o eseguibile) che non fa parte dell'app stessa. Qualche aiuto su come posso farlo? Vedo nella scheda Requisiti c'è un'azione Risultati dello script , e c'è anche Azioni preinstallate nella Azioni che ha un'azione Apri file . Uno di questi farà il lavoro o dovrei cercare altrove?

È stato utile?

Soluzione

Qui è un buon How-to

  

Esistono 7 tipi di script che possono essere lanciati durante il processo di installazione:

     

InstallationCheck:   Questo script viene avviato all'inizio del processo di installazione (anche prima del passaggio di autenticazione). Può essere utilizzato per verificare che il pacchetto possa essere installato su questo computer.

     

VolumeCheck:   Questo script viene avviato in " Seleziona destinazione " passo. Viene utilizzato per determinare su quale volume è possibile installare il pacchetto.

     

Verifica preliminare:   Questo script viene avviato subito dopo che l'utente ha fatto clic su " Installa " pulsante.

     

preinstall / preupgrade:   Questo script viene avviato dopo lo script di preflight, se presente (nel caso di un'installazione di un singolo pacchetto); altrimenti subito dopo che l'utente ha fatto clic su " Installa " pulsante.

     

Come vedi, ci sono 2 tipi di script qui. Quello preinstallato viene avviato quando il pacchetto non è mai stato installato (dal punto di vista Installer.app), quello preupgrade viene avviato quando il pacchetto è già stato installato. Per determinare se un pacchetto è già stato installato o meno, Installer.app sta esaminando il contenuto della seguente directory: / Library / Receipts. Se al suo interno è presente un file denominato PackageName.pkg, il pacchetto è già stato installato, altrimenti è la prima installazione.

     

postinstallazione / postupgrade:   Questo script viene avviato dopo l'installazione dei file nel pacchetto. Vedi (preinstall / preupgrade) per vedere quale è stato avviato.

     

Postflight:   Questo script viene avviato dopo lo script postinstallazione / postupgrade o dopo l'installazione del pacchetto.

Altri suggerimenti

Sono appena riuscito a includere uno script Shell nel mio pacchetto creato con PackageMaker. Dopo l'installazione avevo bisogno di aggiungere la mia app agli elementi di accesso, quindi ho creato uno script chiamato postflight.sh e l'ho messo in una cartella. (sembra che funzioni con qualsiasi posizione)

E poi nel mio pacchetto, ho Applicazioni. In Contenuto, Pacchetto: Applicazioni, nella scheda Script, scelgo postflight.sh nella sezione Postflight. Questo è tutto.

il mio postflight.sh inizia con

#!/bin/bash

e quindi ha alcuni script per inserire l'app negli elementi di accesso. Quando non lo avevo, potevo creare il pacchetto, ma l'installazione non è riuscita. Spero che questo sia utile.

Questo PackageMaker How-To non è aggiornato, ma è ha alcune informazioni molto utili sugli script a metà strada. Cerca la tabella che mostra le variabili della riga di comando viste da shell e perl, oltre ad alcuni utili valori dello stato di uscita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top