Outils du tech

Script AutoIt : Automatiser une installation logiciel

Voilà le premier script en AutoIt. On a parlé AutoIt hier, voici un exemple de l’utilisation d’AutoIt avec l’installation automatisée de TeamViewer (mais cela fonctionne avec tout type de logiciel).

En suivant ce tutoriel, vous apprendrez donc à automatiser une installation de logiciel sous Windows. Dans notre exemple on va créer un script pour TeamViewer, un logiciel de prise en main à distance. Cela vous permettra d’installer ce logiciel en un double clic.

Pour commencer, installer AutoIt Full Installation.

Téléchargez le logiciel Teamviewer, puis créez un nouveau répertoire dans lequel vous mettrez le logiciel d’installation de Teamviewer ainsi que votre script AutoIt.

On va créer par exemple un dossier TeamViewer, une fois dans ce dossier fait un clic droit puis dans le menu contextuel positionnez vous sur Nouveau puis clic gauche sur AutoIt v3 Script

autoit-script-contextuel

Donner le nom que vous souhaitez à votre script et enfin faites un clic droit sur le fichier, puis clic gauche sur Edit Script :

autoit-edit-script

L’éditeur de code SciTe Script Editor va s’ouvrir et vous trouverez déjà quelques lignes dans le script. Ce sont des lignes non obligatoires qui permettent simplement de prendre connaissance de la version d’AutoIt utilisé et de l’auteur du script.

autoit-SciTe

Pour commencer, il faut toujours penser à commenter ce que vous faites pour vous y retrouver facilement par la suite.

Pour ajouter un commentaire, il faut ajouter un « ; » devant votre ligne. Cela permettra d’ajouter un commentaire, ou ne pas exécuter certaines lignes de code (lors de vos tests par exemple). Ici, la ligne 11 est déjà commentée, on va la remplacer par ceci : ; Affichage d’une infobulle d’information

Ensuite, on va utiliser la commande Traytip qui va permettre d’afficher une Infobulle sur l’écran de l’utilisateur. Pour cela, tapez la commande Traytip, puis ouvrez une parenthèse pour afficher la syntaxe.

Tapez la ligne ci-dessous qui va permettre d’afficher une infobulle avec comme titre « Installation TeamViewer » et comme texte « Début d’installation de TeamViewer » pendant 1 seconde :

script-autoit-teamviewer-1

On peut ensuite, ajouter une pause d’un temps donné avant l’exécution du programme (dans le cas de pc très lent par exemple). Pour cela on utilisera la commande Sleep().

script-autoit-teamviewer-2

Vous pouvez à tout moment tester votre script, en appuyant sur la touche F5 de votre clavier. Ici, si nous testons on voit maintenant qu’une infobulle avec le texte que l’on a choisi apparaît.

Auto-it-infobulle

Maintenant vous pouvez ajouter la ligne de commande ShellExecute qui permettra l’exécution d’un programme externe. Ici, le programme à exécuter est TeamViewer_Setup_fr.exe qui est dans le même répertoire que votre script :

autoit-shellexecute

Maintenant, si vous effectuez un test, vous constaterez que l’installation de Teamviewer se lance. Mais elle n’est pas encore automatisée. C’est ce que nous allons faire dans la suite.

La commande « Send » permet de simuler les touches claviers, c’est ce qui permettra d’automatiser l’installation du logiciel. Mais avant cela il faut utiliser la commande « WinWaitActive », cette commande permet d’attendre que la fenêtre souhaitée soit affichée avant de poursuivre l’exécution du script. Pour cibler la fenêtre, on utilise son titre et une partie de son texte. Par exemple ici on va utiliser « Installation de TeamViewer 8″ en titre et « Bienvenue chez TeamViewer » en texte puisque la première fenêtre est celle-ci :

TeamViewer

Ce qui donne ceci pour le script AutoIt :

Auto-it-WinWaitActive

Vous pouvez maintenant ajouter la commande « Send » pour l’envoi de la combinaison de touche à effectuer pour lancer l’installation. Il est possible aussi de le faire avec la souris en insérant des coordonnées, mais c’est bien moins professionnel, puisque suivant la résolution de l’écran, le script ne fonctionnera peut-être pas. Maintenant que vous connaissez la commande « Send » on va pouvoir jouer un peu. Donc le avant tout, il faut étudier comment lancer l’installation seulement avec le clavier. Ici il faudra faire la suite des touches suivantes pour lancer et finaliser l’installation : TAB ; TAB ; TAB ; ESPACE ; TAB ; puis la touche ENTRÉE pour finir.

Maintenant que vous connaissez la syntaxe, on peut poursuivre avec ceci :

Auto-it-SEND

Avec cette suite de frappe, l’installation de TeamViewer se lancera automatiquement. Vous pouvez donc terminer votre script AutoIT au choix en affichant une infobulle :

traytip

ou un message dans une fenêtre contextuelle où il faudra cliquer sur « OK »

msgbox

Votre script est maintenant terminé. Vous pouvez l’enregistrer et compiler votre script AutoIT !

compilation

Astuces AutoIT

Si l’UAC est activé, alors l’exécutable affichera ceci :

UAC-Teamviewer

Pour ne pas avoir ce message et passer directement à l’installation, ajouter ceci en haut de votre script AutoIT :

#requireadmin

require_admin

Mikaël GUILLERM

Administrateur Système et Autoentrepreneur depuis 2009 pour la société zerobug. Je partage mes connaissances, problèmes et solutions à travers articles ou tweets !

Articles similaires

8 commentaires

  1. Bonjour,

    D’abord merci pour le script, par contre, j’ai un souci, dés que l’application se lance, j’ai cette boîte de dialogue qui apparait. mon code ne fonctionne pas. Vous avez une idée? merci.

  2. c’est super sa été trés utile pour faire une installation en automatique pour plusieur logiciels.
    mais dans un logiciel il demande d’inserer une clé d’activation et je me demander quel est la commande pour inserer un texte dans un moment de l’installation pour valider la clé ?
    si vous trouver je vous remerci d’avance

  3. Bonjour, je suis stagiaire dans une entreprise est je dois écrire un script Autoit pour désinstaller une liste de programmes. L’ordre sera toujours le même donc pas de soucis pour sa. Petit hic, une fenêtre « Question » qui me demande si oui ou non je veut désinstaller mon programme. J’ai tester le WinWaitActive avec les bon paramètres mais rien n’y fais. Toutes mes commandes ne passe pas à cause de cette fenêtre. J’ai tenter avec le Send (« {ENTER} ») ainsi que le (« {ASC 78} ») etc.. Même en me servant de la fonction avec les processus.. Comment passer ce message ?

  4. ça a l’air super, mais dès que je lance le script j’ai une erreur « Incorrect number of parameters in function call » (line 2 si je met #requireadmin, line1 si je ne le met pas).
    Une idée pour m’aider peut-être ?

  5. j’ai fais ce script, teamviewer se lance correctement mais ensuite les touches TAB, SPACE et ENTER ne réagissent pas… avez vous une idée ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page