close

Ganhe dinheiro navegando
na Internet 5 minutos por dia!
CLIQUE AQUI E REGISTE-SE JÁ
COM BONUS REFERER!


special

25 maio 2009

Automatizar instalações (Setup’s)

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!

  1. 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
    Explicação: Na primeira linha, verifica se o ficheiro existe. Se existir mostra uma mensagem a dizer que o instalador irá prosseguir; se não mostra uma mensagem que o script irá ser abortado, e termina o programa com o comando “Exit”. Note que estas caixas de texto (MsgBox), tem um temporizador. Se repararmos tem no fim “5”. Este “5”, significa que se o utilizador não clicar em “OK” dentro de cinco segundos, ele auto-fechará. Isto tem lógica, pois queremos automatizar uma instalação com apenas um duplo-clique para iniciar o automatização.
  2. 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")
  3. 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")
    Explicação: Espera pela janela com o titulo “AutoIt v3.3.0.0 Setup” e com a descrição “Welcome to the AutoIt v3.3.0.0 Setup Wizard”, ate que fique activa.
  4. 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")
    Explicação: Carrega nas teclas “ALT+N”, a letra “!” significa “ALT”.
  5. 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")
  6. 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")
  7. 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")
  8. 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")
  9. 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!

Gostou do que leu?
Subscrever pelo RSS
Ou
Endereço de E-Mail:
Ou
Seguir pelo Twitter

Artigos Relacionados

4 comentários

Mateus

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

Arthur

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!

sergio

Gostei, não sabia que o programa espera por janela com algo escrito dentro.

sergio

Arthur
;Para instalação silenciosa
http://www.babooforum.com.br/forum/index.php?/topic/540090-autoit-e-cmenu-primeiros-passos/

Postar um comentário