Page 1 sur 3

[..] Installation automatisée de programmes et utilitaires

Posté : jeu. 01 mai 2008 16:30
par tomtom
Bonjour,

ça fait pas mal de temps que je cherche une manière d'automatiser l'installation de programmes
tels que 7zip, izark, ccleaner, openoffice.

j'ai entendu parler de AutoIt.

j'ai suivit le tuto concernant l'install de winzip fournit dans l'aide
j'ai réussi pour 7zip..

les choses se corsent quand il y a des radiobutton, des checkbox, des zonnes de texte à remplir

et surtout quand il n'y pas moyen d'identifier le control de façon claire
comme dans le tuto winzip

extrait du tuto de winzip

Code : Tout sélectionner

WinWaitActive("WinZip® 9.0 SR-1 Setup", "&Setup")
Send("!s")
 
le bouton setup est libellé comme suit Setup

quelqu'un à un tuto à me conseiller , un exemple donner

à un newbie....

Merci d'avance

Re: Installation automatiqée de programmes et utilitaires

Posté : jeu. 01 mai 2008 17:47
par eln
Bonjour

On peut déjà se renseigner si il n'existe pas un paramêtre silencieux exemple pour 7zip : /S
Il existe aussi les fichiers de réponses qui permettent de personnaliser son installation.
Sinon il y a AutoIt.
Ce qui sert le plus :

Code : Tout sélectionner

WinWait
WinActivate
ControlClick
ControlCommand
ControlSend 
Send
et "AutoIt Window Info"

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 01:40
par Greenhorn
Hi,

if you don't need a custom installation you could use the silent install switches forthe commandline ...

7-zip:

Code : Tout sélectionner

; important: the /S must be uppercase
RunWait('X:\SomeFolder\7z457.exe /S')
Sleep(250)
RunWait('X:\SomeFolder\OOo_2.4.0_Win32Intel_install_wJRE_fr.exe /S')

Salutations confraternelles
Greenhorn

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 11:39
par tomtom
Bonjour,

voila j'ai lu sur des post que pour connaitre les infos relative à un contrôle on pouvait utiliser
AutoIt Window Info

j'ai essayer d'utiliser les commandes ControlClick pour une install de 7zip mais cel ne donne rien

Code : Tout sélectionner

Run("7zip.exe")
ControlClick("7-Zip 4.57 Setup","","[CLASS:Button; TEXT:&Install; INSTANCE:2]")
ControlClick("7-Zip 4.57 Setup","","[CLASS:Button; TEXT:&Finish; INSTANCE:2]")
 
ou

Code : Tout sélectionner

ControlClick("7-Zip 4.57 Setup", "", "[ID:1]")
ControlClick("7-Zip 4.57 Setup", "", "[ID:1]")
 
rien ne va une idée peut-être

Merci

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 11:52
par tomtom
Bonjour,


merci pour toutes les infos notament les install en mode silent

mais bon voila si je veux évoluer je dois apprendre à utiliser les fonctions sur des pgms simple même si je ne fais que des install par défaux

voila j'ai lu sur des post que pour connaitre les infos relative à un contrôle on pouvait utiliser
AutoIt Window Info

j'ai essayer d'utiliser les commandes ControlClick pour une install de 7zip mais cel ne donne rien

Code:

Run("7zip.exe")
ControlClick("7-Zip 4.57 Setup","","[CLASS:Button; TEXT:&Install; INSTANCE:2]")
ControlClick("7-Zip 4.57 Setup","","[CLASS:Button; TEXT:&Finish; INSTANCE:2]")


ou
Code:
Run("7zip.exe")
ControlClick("7-Zip 4.57 Setup", "", "[ID:1]")
ControlClick("7-Zip 4.57 Setup", "", "[ID:1]")



l'exe se lance mais ne va pas plus loin
rien ne va une idée peut-être

Merci

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 11:55
par Greenhorn
Try this, please ...

Code : Tout sélectionner

$sWinTitle = "7-Zip 4.57 Setup"
ControlClick($sWinTitle, "", "&Install")
WinWait($sWinTitle, "&Finish") ; ???
ControlClick($sWinTitle, "", "&Finish")
 

Greetz

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 12:04
par tomtom
Bonjour,

Merci,
j'ai essayé
Sorry ça ne change rien..

bat tomtom

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 12:16
par ani
Bonjour tomtom
Pour une installation y a plusieur solution.

La première étant celle du clique sur l'interface (mode utilisateur) de l'installateur 7-zip, qu'on abordera par la suite, si c'est une obligation ;)

La deuxième est celle proposé par GreenHorn, le mode silencieux, ce mode est plus facile, l'installateur 7-zip utilise les paramètre de NullSoft (pour ceux que sa interesse).
"/S" pour une installation silencieuse et le paramètre "/D=dir" pour le répertoire de destination.
Imaginons que l'exe de 7-zip se trouve sur c:\

Code : Tout sélectionner

Global $sevenzip = "7zip547.exe"
Global $Disk = "c:\"
;on utilise runwait pour attendre la fin du processus.
RunWait(@ComSpec & " /c " & $sevenzip & "/S", $Disk, @SW_HIDE)
;on peut aussi le faire avec shellexecute comme suit
;ShellExecute($sevenzip,"/S",$disk)
Maintenant viend le mode Utilisateur, le premier point :)
J'imagine que c'est la dernière version 7zip547.exe ?
je fait un test pour pas indiquer n'importe quoi ;-)
si tu peux me donner divers info, sur quel disque, quel version, à quel endroit tu voudrai l'installer ect...
Et je pense qui faut juste indiquer Runwait au lieu de run
A toute ;)

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 12:24
par Greenhorn
Fine, that it works ... :D

If you open the 'Window Info Tool', then choose the Tab 'Control'.
Now you see:
Classname,
ID,
Text.

All of them are valid for use with ControlClick.

For example:

Code : Tout sélectionner

; using the control ID, note: use numerics, no string !
If ControlClick($sWinTitle, $sWinText, 1) Then
    MsgBox(266304, Default, 'The Button with the control ID 1 is clicked')
EndIf
; using the classname ...
If ControlClick($sWinTitle, $sWinText, 'Button1') Then
    MsgBox(266304, Default, 'The Button with the classname Button1 is clicked')
EndIf
; ... and the sme procedure for the Text.
If ControlClick($sWinTitle, $sWinText, '&Install') Then
    MsgBox(266304, Default, 'The Button with the Text &Install is clicked')
EndIf
 
In the 'Window Info Tool' you just need to double-click one of the rows and you've got the value. :wink:
7zp_1.jpg
Salute

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 12:28
par tomtom
Bonjour,

Merci,

bon ben voila,
je travail en tant q'informaticien dans un cabinet Ministériel depuis peu,
j'ai hérité d'un parc informatique pas homogène du tout, config différente, pas de liscence groupe...donc pas moyen de faire d'image disk à cloner...

donc j'utilise nlite pour me concocter un ptit cd d'insall perso
j'ai chercher après des logiciel d'install auto mais la pluspart sont payant

j'ai entendu parlé de AutoIt il y a une semaine...

alors ce que j'aimerais faire c'est créer des installs auto de divers pgm ensuite créer un batch qui appelerais une a une chacune de ses install (j'incluerais le batch dans la compil de mon cd xp via nlite)

mais bon voila je m'essaye sur un pgm de base comme 7zip

mais je voudrais par la suite savoir comment cochez/décochez une case, envoyez du tex dans un champ (cfr. serial), changer un répertoire d'install

ex dans l'install de ccleaner par défaut il install la yhaoo toolbar
je n'en veux pas car les toolbar empêche le fonctionnement d'applications web utilisées

la version utilisée de 7zip est la 4.57

Bat tomtom

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 13:00
par tomtom

Code : Tout sélectionner

; using the control ID, note: use numerics, no string !
 ControlClick($sWinTitle, $sWinText, 1) 
ou
; using the classname ...
ControlClick($sWinTitle, $sWinText, 'Button2')
ou
; ... and the sme procedure for the Text.
ControlClick($sWinTitle, $sWinText, '&Install') 

 
j'ai beau utiliser une des 3 possibilités y a rien qui click
que ce soit sous win xp ou win vista

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 13:08
par tomtom
Bonjour,

Code : Tout sélectionner

Run("7zip.exe")
WinWaitActive("7-Zip 4.57 Setup")
ControlClick("7-Zip 4.57 Setup", "", "&Install")
WinWaitActive("7-Zip 4.57 Setup")
ControlClick("7-Zip 4.57 Setup", "", "&Finish")
 
bon ben voila avec ceci il execute le code

sauf pour la dernière ligne il click pas sur finish pour fermer l'install du programme

bav

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 13:21
par Greenhorn
tomtom a écrit :j'ai beau utiliser une des 3 possibilités y a rien qui click
que ce soit sous win xp ou win vista
It's the good old XP, my dear ... :mrgreen:

If you like it, I could send you what you need to get this Desktop.

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 13:27
par Greenhorn
tomtom a écrit :Bonjour,

bon ben voila avec ceci il execute le code

sauf pour la dernière ligne il click pas sur finish pour fermer l'install du programme

bav
OK, then try this ...

Code : Tout sélectionner

Run("7zip.exe")
WinWait("7-Zip 4.57 Setup")
ControlClick("7-Zip 4.57 Setup", "", "&Install")
WinWait("7-Zip 4.57 Setup", '&Finish') ; or another text, which is displayed after install ...
ControlClick("7-Zip 4.57 Setup", "", "&Finish")
 
I don't think you need WinWaitActive. It should also work with non-active or hidden windows.


Salut

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 13:29
par ani
ok
Quand j'avais fait une petit application pour Mozi, j'utilisé la fonction controlcommand (qui posséde pas mal de parametre (comme décocher/cocher/cliqué ect voir aide sur la fonction)et controlclick pour certain cas.

Pour ccleaner, je le télécharge ;) , il existe aussi le mode silencieux /S ou /AUTO (installateur NSIS)
dans l'install de ccleaner par défaut il install la yhaoo toolbar
Faut juste la desinstaller :p ,e je vais dl le programme ;)

Si il existe des install silencieux, faut l'utiliser.
exemple pour 7zip sous dos = 7zip456.exe /S /D=g:\7z
Le répertoire de destination (paramètre D) sera le disque G avec comme répertoire 7z facile

Bon moi je sais plus comment récuperer le titre d'une fenetre sans la connaitre :(
Excuse j'etais au phone, je reviend 2suite ;)

Re: [..] Installation automatisée de programmes et utilitaires

Posté : ven. 02 mai 2008 13:57
par tomtom
voila pour ccleaner

Code : Tout sélectionner

Run("ccleaner.exe")
WinWaitActive("Installer Language")
ControlCommand("Installer Language", "", 1002, "SetCurrentSelection", 12)
ControlClick("Installer Language","","OK")
WinWaitActive("Installation de CCleaner v2.07")
ControlClick("Installation de CCleaner v2.07","","&Suivant >")
WinWaitActive("Installation de CCleaner v2.07")
ControlClick("Installation de CCleaner v2.07","","J'a&ccepte")
WinWaitActive("Installation de CCleaner v2.07")
ControlClick("Installation de CCleaner v2.07","","&Suivant >")
WinWaitActive("Installation de CCleaner v2.07")
ControlCommand("Installation de CCleaner v2.07", "", 1206, "UnCheck","")
ControlClick("Installation de CCleaner v2.07","","&Installer")
WinWaitActive("Installation de CCleaner v2.07")
ControlClick("Installation de CCleaner v2.07","","&Fermer")
 
l'ennui c'est que la dernière fenêtre (bouton "fermer" ne veux pas se fermer

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 14:06
par tomtom
Merci,

Code : Tout sélectionner

WinWait("Title","text control")
ça fonctionne

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 14:09
par Greenhorn
To get the silent install switches, I recommend you this tool:
USSF.exe

Salut

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 14:21
par minoui
Merci USSF est super !
Thx USSF is super !

Re: [..] Installation automatiqée de programmes et utilitaires

Posté : ven. 02 mai 2008 17:23
par tomtom
Bonjour @ tous

Code : Tout sélectionner

Run("izarc.exe")
WinWait("Setup - IZArc 3.81","&Next >")
ControlClick("Setup - IZArc 3.81","","&Next >")
WinWait("Setup - IZArc 3.81","&Next >")
ControlCommand("Setup - IZArc 3.81", "", "I &accept the agreement", "Check","")
ControlClick("Setup - IZArc 3.81","","&Next >")
WinWait("Setup - IZArc 3.81","&Next >")
ControlClick("Setup - IZArc 3.81","","&Next >")
WinWait("Setup - IZArc 3.81","&Next >")
ControlClick("Setup - IZArc 3.81","","&Next >")
WinWait("Setup - IZArc 3.81","&Next >")
ControlClick("Setup - IZArc 3.81","","&Next >")
WinWait("Setup - IZArc 3.81","&Install")
ControlClick("Setup - IZArc 3.81","","&Install")
WinWait("IZArc")
ControlCommand("IZArc", "", "TListBox1", "SetCurrentSelection", 19)
ControlClick("IZArc","","&OK")
WinWait("Options","OK")
ControlClick("Options","","OK")
WinWait("IZArc - The Ultimate Archive Utility - Zip, Unzip, Unrar, 7-Zip, ISO, BIN, compress, archive - Mozilla Firefox")
WinKill("IZArc - The Ultimate Archive Utility - Zip, Unzip, Unrar, 7-Zip, ISO, BIN, compress, archive - Mozilla Firefox")
WinWait("Setup - IZArc 3.81","&Finish >")
ControlCommand("Setup - IZArc 3.81", "", 3408340, "UnCheck","")
ControlClick("Setup - IZArc 3.81","","&Finish")

 
problème dans les section suivantes pas moyen de jouer avec l'ID du controle il change tout le temps j'ai pallier au problème pour cette séquence ci

Code : Tout sélectionner

ControlCommand("Setup - IZArc 3.81", "", "I &accept the agreement", "Check","")
mais les deux autre je bloc

Code : Tout sélectionner

WinWait("IZArc")
ControlCommand("IZArc", "", "TListBox1", "SetCurrentSelection", 19)
ControlClick("IZArc","","&OK")

Code : Tout sélectionner

WinWait("Setup - IZArc 3.81","&Finish >")
ControlCommand("Setup - IZArc 3.81", "", 3408340, "UnCheck","")
ControlClick("Setup - IZArc 3.81","","&Finish")
une idée ???

bav tomtom