Pergunta

Eu tenho um aplicativo que eu preciso para criar um instalador para, e todas as necessidades do instalador para fazer (além de copiar o app) é executar um script (ou executável) que não faz parte do próprio app. Qualquer ajuda sobre como posso fazer isso? Eu vejo nos Requisitos guia há um Resultados de Script ação, e há também os pré-instalar Ações em Ações que tem um Open File ação. qualquer um destes irá fazer o trabalho ou devo estar procurando outro lugar?

Foi útil?

Solução

Aqui é uma boa How-to

Existem 7 tipos de scripts que pode ser lançado durante o processo de instalação:

InstallationCheck: Este script é lançado no início do processo de instalação (mesmo antes da etapa de autenticação). Ele pode ser usado para verificar se o pacote pode ser instalado no computador.

VolumeCheck: Este script é lançado na etapa "Selecionar destino". Ele é usado para determinar em qual volume do pacote pode ser instalado.

comprovação: Este script é lançado logo após o usuário clicar no botão "Instalar".

preinstall / preupgrade: Este script é lançado após o script comprovação se há uma (no caso de uma instalação do pacote single); caso contrário, apenas após o usuário clicar no botão "Instalar".

Como você pode ver, há 2 tipos de scripts aqui. O único pré-instalação é iniciado quando o pacote nunca foi instalado (a partir de um ponto de vista Installer.app), a pré-atualização é lançada quando o pacote já foi instalado. Para determinar se um pacote já foi instalado ou não, Installer.app está tendo um olhar para o conteúdo do seguinte diretório: / Library / Receipts. Se há um arquivo chamado PackageName.pkg dentro dela, em seguida, o pacote já foi instalado, caso contrário, é a primeira instalação.

postinstall / postupgrade: Este script é lançada após os arquivos no pacote foram instalados. Ver (pré-instalação / preupgrade) para ver qual deles é lançado.

postflight: Este script é lançado após o script postinstall / postupgrade ou quando o pacote foi instalado.

Outras dicas

Eu só conseguiu incluir um script Shell para meu pacote que fiz com PackageMaker. I necessário para adicionar meu aplicativo para os itens de login após a instalação, por isso fiz um script chamado postflight.sh e colocá-lo em uma pasta. (Parece que funciona com qualquer localização)

E então no meu pacote, eu tenho Applications. Em Conteúdo, Pacote: Aplicações, na aba Scripts, escolho o postflight.sh na seção Postflight. É isso aí.

meus postflight.sh começa com

#!/bin/bash

e, em seguida, ele tem algum script para colocar o aplicativo para os itens de login. Quando eu não tiver isso, eu poderia fazer o pacote, mas a instalação falhou. Espero que este seja útil.

Este PackageMaker How-To artigo está desatualizado, mas tem alguma informação muito útil em scripts cerca de meio caminho para baixo. Procure a tabela que mostra as variáveis ??de linha de comando como visto de shell e perl, além de alguns valores de status de saída útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top