Inno setup

por favor alguem saberia dizer como faço no inno setup para instalar 3 programas em ordem antes q a instalação seja concluida
tenho um instalador q tenho q instalar ( a partir de outro executavel .msi)
1ºapache
2ºPHP
3ºJava
4ºpostgre

nessa ordem e um dps do outro se alguem tiver um link q ensine eu agradeço

vlwww

usa essa ferramenta para gerar o script do inno setup muito mais amigavel.

http://www.istool.org/

Oi,

Copie os arquivos de instalação para a área temporária

[Files] Source: "OracleXEClient.exe"; DestDir: "{tmp}"; Flags: ignoreversion
Executando a instalação - neste caso silenciosa, observe que tive que mandar outro arquivo para área temporária (OracleXEClientInstall.iss), mas não é o seu caso. Se não quiser passar parametros pode ignorar essa cláusula.

[Run] ; Instalar o cliente do oracle Filename: "{tmp}\OracleXEClient.exe"; Parameters: "/s /f1""{tmp}\OracleXEClientInstall.iss"""; StatusMsg: "Instalando Cliente do Oracle"

A sessão RUN (assim como as outras) obedece a ordem que você adiciona os comandos…logo crie na sequência que deseja, o exemplo acima eu uso para instalar o client do Oracle XE junto com a aplicação.

então gente o real problema num é conseguir instalar os programas
é q qnd chega no final da barra de instalação do aplicativo q eu fiz ele abre os 4 instaladores todos juntos
abre o php apache java e postgre um em cima do outro
e meu chefe ta falando q que um de cada vez exemplo
começa a instalação do php
termina a instalação do php
começa a instalação do apache
termina a instalação do apache
começa a instalação do java
termina a instalação do java
começa a instalação do postgre
termina a instalção do postgre

De preferencia no meio da instalação do aplicativo naum no fim mas isso é irrelevante
se alguem souber eu agradeço :smiley:

obs: ja estou usado o istool XD

Não estou com acesso à documentação do InnoSetup (está bloqueado aqui no proxy), mas não há algum parâmetro que você possa passar no script do InnoSetup, para ele esperar a execução do programa do instalador? É questão de você dar uma olhada na documentação. Deve ser algo parecido com “wait until idle” ou coisa parecida.

[quote=thingol]Não estou com acesso à documentação do InnoSetup (está bloqueado aqui no proxy), mas não há algum parâmetro que você possa passar no script do InnoSetup, para ele esperar a execução do programa do instalador? É questão de você dar uma olhada na documentação. Deve ser algo parecido com “wait until idle” ou coisa parecida.
[/quote]

Meu instalador faz vários procedimentos na sessão RUN e todos são executados na mesma ordem que declaro e um aguarda a conclusão do outro, reparem que tem uma clausula StatusMsg: “Instalando Cliente do Oracle” onde o próprio instalador dá a posição da tarefa atual, qual seria o sentido se ele executasse todo mundo de uma vez já que posso colocar mensagens individuais?

Qual o tipo de instalador tá chamando? é .exe ou .msi? Se for MSI tente essa dica:

[code]
[Files]
Source: “Your-MSI-File.msi”; DestDir: “{tmp}”

[Run]
Filename: “msiexec.exe”; Parameters: “/i “”{tmp}\Your-MSI-File.msi”""[/code]

sao 3 msi e um exe

[Run]
Filename: {app}\apache_2.2.8-win32-x86-no_ssl.msi; WorkingDir: {app}; Flags: nowait
Filename: {app}\php-5.2.5-win32-installer.msi; WorkingDir: {app}; Flags: runminimized 
Filename: {app}\jdk-6u7-windows-i586-p.exe; WorkingDir: {app}; Flags: runminimized 
Filename: {app}\postgresql-8.3-int.msi; WorkingDir: {app}; Flags: runminimized

ai ta o código
e aki todos iniciam juntos no final da instalação
quase travando o pc

“nowait” e “runminimized” fazem exatamente o contrário que você quer.

“nowait” quer dizer “não espere”. Mas você queria é que ele esperasse, não?

Leia a documentação e não fique na tentativa e erro.

naum estou na tentativa e erro
tirei o no wait e runMinimed( q naum tem nada a ver com a ordem )
tirei eles, só deixei o shellExecuted nos msi se naum eles nao sao instalados e naum vai msmo assim
todos aparecem juntos no final
li varias coisas na internet sobre o inno
mas nada sobre isso

problema resolvido
foi oq o rafaelglauber falo do msiexec
:smiley:
vlw gente pela ajuda