Installation de WinZip - Tutoriel

Ce tutorial explique comment automatiser l'installation de WinZip 9 SR-1. Il est considéré que vous êtes déjà familiarisé avec la création et le lancement de scripts AutoIt et avec l'utilisation de l'outil AutoIt v3 Window Information pour lire les titres et les textes des fenêtres, comme indiqué dans les tutoriels HelloWorld et Notepad.


Note : Toutes les fenêtres et boites de dialogue sont en Anglais (Traduction oblige) donc les informations provenant des boites de dialogue et autre seront aussi en Anglais.


L'installation de WinZip se compose d'environ 10 boites de dialogue où l'on doit cliquer sur des boutons (Généralement Next) pour continuer. Nous allons écrire un script qui attend simplement l'apparition de ces boîtes de dialogue et ensuite clique sur les boutons appropriés. Comme il est courant pour ce type d'installation le titre de la fenêtre de chaque dialogue est le même (WinZip Setup) donc nous devons utiliser le texte des fenêtres pour voir la différence entre elles. Les captures d'écran de chaque dialogue seront fournies et vous pouvez cliquer sur l'image pour voir les résultats de l'outil l'outil AutoIt Window Information pour cette fenêtre de dialogue.


Pour commencer, créez un répertoire qui contiendra l'installateur de WinZip ainsi que notre fichier de script. Copiez l'installateur de WinZip dans ce répertoire et créez un script vierge que vous nommerez winzipinstall.au3.


Nous allons maintenant lancer manuellement l'installation et écrire le script au fur et à mesure. Les lignes de script pour automatiser chaque dialogue seront montrées après chaque image (n'oubliez pas de cliquer sur l'image pour voir les informations de l'outil AutoIt v3 Window Information). Vous pouvez aussi vous référer au script complet.


La première ligne de script est facile, car nous voulons lancer l'installateur winzip90.exe. Donc la première ligne est :

Run("winzip90.exe")


Le premier dialogue surgit :

Nous devons attendre cette fenêtre et lorsqu'elle devient active nous devrons appuyer sur ALT-s pour cliquer le bouton Setup. Cela donne les lignes de script suivantes :

WinWaitActive("WinZip® 9.0 SR-1 Setup", "&Setup")
Send("!s")

(N'oubliez pas de cliquer sur l'image pour voir les informations de l'outil AutoIt v3 Window Information, ceci est particulièrement important quand le titre contient le caractère spécial (R) qu'il serait difficile de taper).


Ensuite, la boîte de dialogue du répertoire d'installation apparaît :

Nous devons attendre cette fenêtre et lorsqu'elle devient active appuyer sur ENTER pour accepter le chemin d'installation. Voici les lignes de script :

WinWaitActive("WinZip Setup", "into the following folder")
Send("{ENTER}")


Ensuite, la boîte de dialogue des caractéristiques de WinZip apparaît :

Notez que cette fenêtre a exactement le même titre que la première fenêtre WinZip Setup. En fait toutes les boîtes de dialogue ont ce titre ! Afin de voir les différences de ces fenêtres nous devons utiliser le texte window - sur chaque écran essayez de prendre le texte le plus unique que possible. Pour ce cas, nous avons choisit WinZip features include. Après l'apparition de la fenêtre, nous appuyons sur ALT-n pour continuer, ce qui nous donne :

WinWaitActive("WinZip Setup", "WinZip features include")
Send("!n")


Ensuite, la boîte de dialogue de la licence apparaît :

Attendez son apparition et pressez ALT-y pour accepter l'accord de licence :

WinWaitActive("License Agreement")
Send("!y")


Le Setup se poursuit de la même manière avec plusieurs boîtes de dialogue. L'image de chaque dialogue est montrée avec les lignes de script nécessaires à son automatisation.


WinWaitActive("WinZip Setup", "Quick Start Guide")
Send("!n")


WinWaitActive("WinZip Setup", "switch between the two interfaces")
Send("!c")
Send("!n")


WinWaitActive("WinZip Setup", "&Express setup (recommended)")
Send("!e")
Send("!n")


WinWaitActive("WinZip Setup", "WinZip needs to associate itself with your archives")
Send("!n")


Ceci est l'ultime boite de dialogue du Setup. Vous remarquerez que le bouton Finish n'a pas de raccourci clavier - Par chance il s'agit du bouton par défaut de la boite de dialogue donc nous n'avons qu'à presser ENTER pour le sélectionner. Si cela n'avait pas été le cas, nous aurions dû faire des tabulations pour parcourir les contrôles ou, mieux encore, utiliser la fonction ControlClick.

WinWaitActive("WinZip Setup", "Thank you for installing this evaluation version")
Send("{ENTER}")


Après l'installation WinZip va démarrer automatiquement :

Nous attendons simplement l'apparition de la fenêtre principale de WinZip et après nous la fermons avec la fonction WinClose.

WinWaitActive("WinZip (Evaluation Version)")
WinClose("WinZip (Evaluation Version)")


Voici le script complet - Notez que j'ai commenté chaque dialogue séparément, ce qui fait qu'il est facile à suivre ou à modifier ultérieurement (La prochaine version de WinZip peut être légèrement différente).


Et voilà ! Lancez le script winzipinstaller.au3 et regardez comment WinZip s'installe en quelques secondes ! La technique utilisée dans ce tutoriel peut être utilisée pour automatiser l'installation de la plupart des programmes.


En exercice, essayez de refaire le script, mais au lieu d'utiliser la fonction Send qui envoie des frappes clavier à la fenêtre active pour cliquer sur des boutons, essayez d'utiliser la fonction ControlClick qui est bien plus fiable. Pour cela, vous aurez besoin de lire l'aide sur les Controles pour y arriver.