Page 1 sur 1
[R] Détecter si un programme est installé
Posté : jeu. 09 oct. 2008 14:59
par maga
Bonjour,
Je viens de découvrir autoIt (nouvel utilisateur donc) et j' aimerais créer un script permettant de détecter si un programme comme open office est installé, si il ne l' est pas alors l' installer.
Merci pour votre aide.
Re: [..] Détecter si un programme est installé
Posté : jeu. 09 oct. 2008 19:25
par L4crymal
Re: [..] Détecter si un programme est installé
Posté : jeu. 09 oct. 2008 19:26
par sylvanie
Bonsoir,
J'utiliserai la fonction Fileexist pour détecter si un fichier/rep existe ou non puis je lui passerai en paramètre un chemin construit avec la macro @ProgramFilesDir&"\suite du chemin propre à l'xe ..."
Ceci laisse supposer que l'appli est installée dans le rep "classique program files... mais ceci peut couvrir une grande majorité de cas
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 07:26
par L4crymal
Ou alors dans les valeurs regedit il y a TOUT les programmes installer répertoriés ( au cas ou un logiciel serait installer dans un autre dossier que programmes files )
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 08:10
par Tlem
+1 pour la base de registre.
Il suffit de lister ce qu'il y à dans \\HKEY_LOCAL_MACHINE\SOFTWARE\.
En l'occurrence, pour vérifier la présence de OpenOffice, il suffit de vérifier la clé :
HKEY_LOCAL_MACHINE\SOFTWARE\OpenOffice.org\OpenOffice.org\2.4
D'y récupérer la valeur de Path, et de contrôler la présence de soffice.exe grâce au chemin récupéré.
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 11:47
par maga
Merci de votre reponse j' essairai.
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 11:49
par maga
bonjour, pourrais je avoir un exemple de syntaxe svp.
Merci.
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 14:09
par Yogui
bonjour
petit de la doc :
Code : Tout sélectionner
For $i= 1 to 10
$var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", $i)
If @error <> 0 then ExitLoop
MsgBox(4096, "SubKey #" & $i & " under HKLM\Software: ", $var)
Next
http://www.autoitscript.com/autoit3/doc ... numKey.htm
edit : pour avoir plus de 10 éléments modifier le For
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 15:42
par maga
MErci pour votre reponse
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 18:53
par L4crymal
Et pour ceux qu'il veulent connaitre ce que est la Base de registre ( ou l'on peut trouver toutes les configuration de votre pc ou presque ) tapez REGEDIT dans "executer"
Re: [..] Détecter si un programme est installé
Posté : ven. 10 oct. 2008 19:31
par Tlem
@Yogui
Plutôt que d'utiliser une boucle FOR, utilisez une boucle While puisque en cas de fin de lecture des clé de la BDR vous sortez de la boucle par le If @error
Re: [..] Détecter si un programme est installé
Posté : sam. 11 oct. 2008 09:52
par Yogui
Tlem a écrit :@Yogui
Plutôt que d'utiliser une boucle FOR, utilisez une boucle While puisque en cas de fin de lecture des clé de la BDR vous sortez de la boucle par le If @error
En effet je m'en suis rendu compte en éditant mon poste mais je voulai laisser l'exemple tel que sur la tuto
Re: [..] Détecter si un programme est installé
Posté : dim. 12 oct. 2008 08:07
par maga
bonjour,
je reussi a detecté si l' application est installé, mais je voudrais si l' installtion n' y est pas de l' installé et aussi j' ai des petits pour le clickcontrol automatique.
Merci
Re: [R] Détecter si un programme est installé
Posté : mar. 14 oct. 2008 14:24
par Dan
Bonjour,
Pour répondre à ton problème : si la clé de registre HKLM... est présente, OpenOffice 2.4 (il faudra adapter pour les versions suivantes) est déjà installé sur le poste. L'installation est donc annulée.
Si la clé de registre ci-dessous n'est pas présente, OpenOffice 2.4 n'est pas installé. La procédure d'installation suit alors son cours.
► Afficher le texte
Code : Tout sélectionner
$var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\OpenOffice.org\OpenOffice.org\2.4", "Path")
if $var<>"" Then ;="C:\Program Files\OpenOffice.org 2.4\program\soffice.exe" Then
;OpenOffice est déjà installé => On quitte le programme d'installation
; Lancement du splash screen.
SplashTextOn("", $NomAppli & " est déjà installé sur ce poste !" & @CRLF & "Sortie de la procédure d'installation...", 450, 70, -1, -1, 0 + 1 + 16 + 32, "Times New Roman", 12, 800)
; Pause de 5 secondes.
Sleep(5000)
; Fermeture du splash.
SplashOff()
;~ MsgBox(4096, "OpenOffice - Installation ","OpenOffice est déjà installé : " & $var)
Else
;OpenOffice n'est pas installé => Installation d'OpenOffice
.............