sexta-feira, 25 de novembro de 2011

Automatizar instalações (Setup’s) com o AutoIt


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 Scriptcaso 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 scriptCó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.

Fonte: tutorialautoit.blogspot.com

Um comentário:

Proibido palavras ofensivas, racistas ou descriminatórias.

[Seu Comentário será liberado no máximo em 24horas]