Criando plugins do instalador em pacotes com os primeiros privilégios de raiz que os pacotes a serem instalados (Mac OS X)

StackOverflow https://stackoverflow.com//questions/9693673

Pergunta

Eu estou trabalhando em um projeto Mac OS X, onde o instalador é construído usando os pacotes ferramenta . Eu vejo que esta ferramenta é menos usada do que a chamada fabricante de pacotes e é por isso que eu acho difícil obter qualquer ajuda, mas bem, aqui é a questão:

Eu criei o Installer Plugins com sucesso após o guia oficial (http://s.sudre.free.fr/staller_plugins/installer_plugins/index.html), mas agora o problema é que eu preciso de um deles correndo com Privilégios de raiz, solicitando a senha do administrador, se necessário.

Cada pacote é capaz de ser copiado com privilégios administrativos, juntamente com a execução de um script de pré-instalação e pós-instalação, mas esta etapa é após a execução do plugin enquanto eu precisava executá-la antes.

Eu poderia fazer isso escrevendo algum código de autorização básico (usando a autorização depreciadaExecutewithPrivileges porque fazer as complexas soluções alternativas recomendadas pela Apple em um plugin é realmente) no próprio plugin.

Agora tudo funciona (meu código privilegiado e a instalação), mas o instalador termina solicitando uma senha de administrador duas vezes, uma para o plug-in, e a outra antes do pacote real (pacote), que não é muito "amigável".

Alguém sabe uma solução alternativa ou possível?

Agradecemos antecipadamente.

Foi útil?

Solução

Pergunta antiga, mas eu vou colocar isso como uma opção.

Em um instalador que fiz usando pacotes, tive um dos scripts de vôo pré / post cuidando de qualquer coisa que precisasse de privilégios elevados.Você precisa fazer esse pacote em particular pedir elevação, mas o script é executado com privilégios elevados.

Então, neste exemplo, tenho um plugin para fazer algumas perguntas ao usuário e armazenamos essas informações em / tmp para o script para ler e executar.

Um pouco redondo a curva, mas funciona e muito mais fácil, então tentando não usar AuthorizationExecuteWithPrivileges

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