Page 1 sur 1
[..] Installation d'un logiciel automatisé... (Lotus)
Posté : mar. 22 sept. 2009 12:30
par tipiaks
Bonjour,
Je possède un parc de 200 machines, j'aimerais automatiser l'installation d'un fixpack de lotus qui correspond à un service pack d'un Windows par exemple.
Mon script fonctionne bien (je débute... il est ultra simpliste...) mais je ne connais pas la fonction qui me permet d'attendre qu'une action soit réaliser pour lancer l'action suivante. Je m'explique avant d'envoyer par exemple un "!f" je voudrais attendre que l'action en cours soit terminer dans mon cas l'installation du programme...
Voici mon script :
Code : Tout sélectionner
run("\\serveur01\fichiers\lotus\setup.exe")
winwaitactive("IBM Lotus Notes 8.5 FP1 - InstallShield Wizard")
sleep(2000)
Send("{Enter}")
sleep(1000)
Send("!a")
Send("{Enter}")
sleep(1000)
Send("{Enter}")
sleep(1000)
Send("{Enter}")
winwaitactive("IBM Lotus Notes 8.5 FP1 - InstallShield Wizard")
Send("!f")
Et je voudrais donc attendre que l'installation soit terminer avant d'envoyer le !f à la fin pour fermer la fenêtre du programme...
Merci de votre aide.
Re: Installation d'un logiciel automatisé... (Lotu
Posté : mar. 22 sept. 2009 15:34
par jbnh
Bienvenu sur le forum !
Avant que nous puissions vous répondre, vous devriez lire
les règles de présentation des messages ainsi que
les règles générales du forum puis éditez votre premier message pour ajouter les balises [..] au titre de votre sujet.
Re: [..] Installation d'un logiciel automatisé... (Lotus)
Posté : mar. 22 sept. 2009 16:03
par tipiaks
Message re-éditer
Si vous avez une idée pour ma question se serais très sympa.
Edit : Je précise que je ne peux pas utiliser la fonction "sleep" car le temps d'installation varie d'un poste à un autre.
Re: [..] Installation d'un logiciel automatisé... (Lotus)
Posté : mar. 22 sept. 2009 17:33
par tipiaks
J'essaye de continuer un peu mon analyse...
Serais t'il possible de résoudre mon problème en faisant une sorte de boucle comme celle-là :
Mais en indiquant que c'est lorsque le "bouton 1" (renseignement obtenu grâce à Autoit v3 Windows info) affiche finish qu'il faut lancer le "send" ?
Merci pour votre future aide.
Re: [..] Installation d'un logiciel automatisé...
Posté : mar. 22 sept. 2009 18:35
par jbnh
Bonjour,
Vous pouvez toujours checker en boucle si votre fenêtre existe avec
WinExist. Des qu'elle n'existe plus -> vous faies votre send.
Re: [..] Installation d'un logiciel automatisé... (Lotus)
Posté : mar. 22 sept. 2009 23:26
par Tlem
Et plus simplement, est-ce que ce fixpack n'aurait pas un commutateur d'installation silencieuse ???
Généralement c'est le cas donc c'est sans doute votre solution.
Re: [..] Installation d'un logiciel automatisé... (Lotus)
Posté : mer. 23 sept. 2009 08:57
par tipiaks
Le problème de cette installation silencieuse c'est que l'utilisateur ne verra pas la fin de l'installation et s'il lance le logiciel "lotus" entre temps sa fera complètement planter le PC.
C'est pour sa qu'une installation automatique avec les fenêtres me convient très bien.
Je vais tester le "Winexist".
Re: [..] Installation d'un logiciel automatisé... (Lotus)
Posté : mer. 23 sept. 2009 11:36
par tipiaks
Comment formuler ma boucle pour dire que tant que le "bouton 1" n'affiche pas "finish" il ne faut pas quitter cette boucle et exécuter l'action suivante ?
Une idée s'il vous plait?
Re: [..] Installation d'un logiciel automatisé... (Lotus)
Posté : mer. 23 sept. 2009 12:11
par Iste
tipiaks a écrit :Le problème de cette installation silencieuse c'est que l'utilisateur ne verra pas la fin de l'installation et s'il lance le logiciel "lotus" entre temps sa fera complètement planter le PC.
Baaaah, runwait() ou shellexecutewait() et pendant ce temps tu met une fenetre a l'ecran 'installation en cours, merci de patienter', pas bon ?
sinon, tu as essayé ControlGetText() ?
Re: [..] Installation d'un logiciel automatisé... (Lotus)
Posté : mer. 23 sept. 2009 15:33
par tipiaks
Je débute et je n'arrive pas a comprendre le mécanisme des commandes.
Je voudrais juste à la fin de mon code que la commande "Send("!f")" se lance après que mon logiciel soit finit d'installer. Il se termine quand le bouton "finish" apparait. Le temps d'installation variant d'un poste à un autre il m'es impossible d'utiliser le "sleep".
Pouvez-vous me donner un exemple de script s'il vous plait ?
2ème Question Grâce à "runas" mon script s'exécutera bien en administrateur (dans mon exemple)?
Code : Tout sélectionner
runas("administrateur","********","***********","","")
run("\\serveur01\fichiers\lotus\setup.exe")
winwaitactive("IBM Lotus Notes 8.5 FP1 - InstallShield Wizard")
sleep(2000)
Send("{Enter}")
sleep(1000)
Send("!a")
Send("{Enter}")
sleep(1000)
Send("{Enter}")
sleep(1000)
Send("{Enter}")
While Not BitAnd(WinExists("Finish"),15)
Sleep(100)
WEnd
Send("!f")