Hoje irei demonstrar como automatizar uma instalação, com base em um exemplo, de um instalador padrão. Também os instaladores não diferem muito entre eles, por isso não terá de fazer muitas adaptações. O exemplo aqui dado irá ser bastante abrangente, não apenas demonstrando como fazer “seguinte, seguinte”.
O exemplo aqui demonstrado será instalar o AutoIt v. 3.3.0.0, em que ao clicar no script abre a edição em vez de executar, sem instalar os exemplos de script, e não mostrar as notas no final da instalação.
Aviso: Os utilizadores do Windows Vista necessitam de ter direitos de administrador ao executar o Script, caso o instalador necessite de direitos de administrador, e para isso adicionamos a seguinte linha de código, antes de todo o código:
#RequireAdmin
Nota: O ficheiro de automatização terá de estar na mesma pasta em que se encontra o instalador do AutoIt, caso contrário não irá funcionar!
- Antes de começar, temos de verificar se o ficheiro de instalação está presente na pasta em que se encontra, e para isso usamos o comando “FileExists” juntamente com o condicionador “IF”.
Código:
If FileExists("autoit-v3-setup.exe") Then
MsgBox("", "Info", "Instalador encontrado a automatização irá continuar...", 5)
Else
MsgBox("", "Info", "Instalador não encontrado a automatização vai ser abortada...", 5)
Exit
EndIf
- Agora que já verificamos se o instalador existe, falta agora iniciar o instalador. Para isso utilizamos o comando “ShellExecute”.
Código:
ShellExecute("autoit-v3-setup.exe")
- Agora que já indicamos o ficheiro a executar, antes de prosseguir temos de esperar que mostre a janela principal, e para isso usamos o comando “WinWaitActive”.Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "Welcome to the AutoIt v3.3.0.0 Setup Wizard")
- Agora que o instalador está à espera, podemos prosseguir, clicando em “Next >”. E para isso usamos o comando “Send”.
Nota: Repare que o texto tem a letra “N” sublinhada “Next >”, isto significa que se usarmos o atalho: “ALT + [letra sublinhada]” clica nesse botão sem usarmos o rato.
Código:
Send("!n")
- Repetimos o mesmo processo, até chegar à escolha, para quando é feito o duplo clique no script.
Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "License Agreement")
Send("!a")
WinWaitActive("AutoIt v3.3.0.0 Setup", "Defaults for *.au3")
- Para colocarmos o duplo clique para editar o ficheiro, teremos de carregar na tecla “TAB” e para aplicar, na tecla “Espaço”, e depois disso podemos avançar para o próximo passo.
Código:
Send("{TAB}{SPACE}")
Send("!n")
- Agora falta desactivar a opção de instalar os exemplos, e para isso carregamos na tecla “TAB”, depois “Seta para baixo”, e finalmente na tecla “Espaço” para aplicar. Depois podemos prosseguir para o próximo passo e instalar.
Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "Choose Components")
Send("{TAB}{DOWN}{SPACE}")
Send("!n")
WinWaitActive("AutoIt v3.3.0.0 Setup", "Choose Install Location")
Send("!i")
- Só falta esperar que o programa instale, e depois desactivar a opção de mostrar as notas no final da instalação.
Código:
WinWaitActive("AutoIt v3.3.0.0 Setup", "Completing the AutoIt v3.3.0.0 Setup Wizard")
Send("{SPACE}")
Send("!f")
- E para concluir, mostra uma mensagem em como terminou a instalação.
Código:
MsgBox("", "Info", "Instalação concluída com sucesso!")
E é tudo. Com este exemplo irá servir de “modelo” para poderem criar as vossas instalações automáticas.
Download código fonte Download do executável
Qualquer dúvida, não hesite! Coloque-a aqui!
Bomdia, trabalho em uma assistencia tecnica e me interresei tanto pelo software quanto pelo blog,ai surgiu uma divida . . . lendo esse topico, vi que no comando WinWaitActive, eh possivel nao somente esperar que a janela abra, mas tbm esperar q ela "Mude" atravez da descrição, porem o office 2003 apresenta sempre a mesma descrição . . que eh igual ao titulo da janela . . .eh isso ou eu estou errado, se tive como por algo do tipo
if(texto do campo (x)= texto)then
alguem poderia me ajudar? Entendo um pouco de pascal se for util
grato
Parabesn pelo blog!! É muito explicativo e interessante!!
Eu Criei um scrip que aotumotiza a instalçação de um programa que eu tenho, mas queria que esse scrip fosse executado sem mostrar interface de instalação, ou seja eu quero atraves do scrip que eu criei e conpelie se transformasse em um uma instalação silenciosa, para que eu adicione a instalação do windows, alguem sabe como eu faço pra tranformar o scrip em cab silencioso??
Desde ja agradeço!
Gostei, não sabia que o programa espera por janela com algo escrito dentro.
Arthur
;Para instalação silenciosa
http://www.babooforum.com.br/forum/index.php?/topic/540090-autoit-e-cmenu-primeiros-passos/
Postar um comentário