Como Criar um Instalador em C

1. Como Criar um Instalador em C

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 30/03/2015 - 10:17h

Bom Dia =D

Gostaria de saber como crio um instalador "multi-distro" usando o GTK2

Criar o Instalador até eu sei, mas queria saber como deixar-lo compativel com Fedora,Debian,ArchLinux, ...; sem precisa ficar compilando para cada um.

Pois o aplicativo que eu quero desenvolver é para "crianças" e elas não sabem mexer no terminal ainda, e um paradigma NNF do Windows qualquer um sabe.

Teria alguma sugestão?

Ah, e o que colocar em cada uma das etapas ?

Grato

~Thiago ( e sua equipe )


  


2. Re: Como Criar um Instalador em C

Alexandre Mulatinho
mulatinho

(usa Slackware)

Enviado em 30/03/2015 - 10:30h

Cada sabor de distribuição tem o seu padrão. Ou você pode criar um .BIN.

No caso das distribuições que usam .RPM (redhat-like) você precisa criar um arquivo chamado .spec [1]

No caso das distribuições que usam .DEB (debian-like) você precisa criar um arquivo chamado .dsc [2]

No caso do .BIN tudo que você precisa é juntar todas as bibliotecas estáticas necessárias num único arquivo executável e adiciona uma lógica de instalação.

Referências:
[1] https://fedoraproject.org/wiki/How_to_create_an_RPM_package/pt
[2] https://www.debian.org/doc/manuals/packaging-tutorial/packaging-tutorial.en.pdf



3. Re: Como Criar um Instalador em C

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 30/03/2015 - 10:32h

Amigo , poderia me explicar mais sobre o arquivo .BIN ?

Fiquei interessado , poderia me passar alguns links sobre isso ?


[]'s

T+


4. Re: Como Criar um Instalador em C

Alexandre Mulatinho
mulatinho

(usa Slackware)

Enviado em 30/03/2015 - 10:54h

Dá uma olhada no makeself [1], vai resolver seu problema!

[1] http://www.megastep.org/makeself/


5. Re: Como Criar um Instalador em C

Paulo
paulo1205

(usa Ubuntu)

Enviado em 30/03/2015 - 20:26h

Se o seu público é infantil, será que fazer um pacote de instalação é o que você quer? No mínimo, a pessoa teria de virar root para poder rodar o rpm/yum ou dpkg/apt-get/aptitude.

Se você quer que o programa seja prontamente executável, o melhor seria não precisar instalar, mas sim apenas baixar e rodar, com um aplicativo portable.

Até o baixar e rodar tem uma complicação: a pessoa precisaria dar permissões de execução sobre o arquivo baixado, antes de o executar, já que os downloads, por motivos óbvios, geralmente desligam os bits de execução do arquivo baixado.

De todo modo, um aplicativo portátil normalmente ou é estaticamente linkado, ou embute na distribuição as bibliotecas dinâmicas das quais venha a precisar, no mesmo diretório que o executável principal ou um subdiretório que seja facilmente endereçável a partir do local onde o executável reside. Para isso, no momento da linkagem da aplicação, você deve usar a operção -rpath com o valor “$ORIGIN”.


6. Re: Como Criar um Instalador em C

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 31/03/2015 - 22:29h

paulo1205 escreveu:
De todo modo, um aplicativo portátil normalmente ou é estaticamente linkado, ou embute na distribuição as bibliotecas dinâmicas das quais venha a precisar, no mesmo diretório que o executável principal ou um subdiretório que seja facilmente endereçável a partir do local onde o executável reside. Para isso, no momento da linkagem da aplicação, você deve usar a operção -rpath com o valor “$ORIGIN”.


Ola.

Poderia me dar um exemplo de como fazer isso ?
Não sei como colocar as dependencias numa pasta junto do executavel.
É muito complicado fazer isso ?
Se tiver como explicar passo a passo eu ficaria MUITO grato.

Grato

~Thiago ( e sua gangue)


7. Re: Como Criar um Instalador em C

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/03/2015 - 22:45h

Você pode fazer o instalador em shell script (algo como install.sh), usando Zenity como interface gráfica.
----------------------------------------------------------------------------------
Uma vida não questionada não merece ser vivida - Platão


8. Re: Como Criar um Instalador em C

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 01/04/2015 - 12:17h

Eu ja tinha pensado em usar o Zenity, mas a minha gang não gostou da ideia.

[Off Topic]Legal o Zenity ter sido feito em C (eu já sabia por que jah usei), mas nunca entendi como funcionava por dentro, e hoje, por acaso , achei o Source dele.

Se tivesse pessoas dispostas a ajudar, poderiamos fazer coisas incriveis com shell script (imagine portar o SDL ou até o OpenGL para o Shell Script !).

Thanks on advance

Thihup e sua gang


9. Re: Como Criar um Instalador em C

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/04/2015 - 21:33h

Uma outra biblioteca que você pode usar é o gtkdialog, oferece mais opções que o Zenity;
https://code.google.com/p/gtkdialog/

Alguns exemplos interessantes em shell script:

# menu
curl -l -k http://gtkdialog.googlecode.com/svn/trunk/examples/menu/menu | bash
# menubar
curl -l -k http://gtkdialog.googlecode.com/svn/trunk/examples/menubar/menubar | bash
# hbox_atributtes
curl -l -k http://gtkdialog.googlecode.com/svn/trunk/examples/hbox/hbox_attributes | bash
# notebook
curl -l -k http://gtkdialog.googlecode.com/svn/trunk/examples/notebook/notebook | bash


Há também a possibilidade de usar em C. Veja esse exemplo:

curl -l -k http://gtkdialog.googlecode.com/svn/trunk/examples/c_embedded/example01.c > example01.c
gcc -o example01 example01.c
./example01

----------------------------------------------------------------------------------
Uma vida não questionada não merece ser vivida - Platão






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts