[R] Recherche version Java, adobe...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Amesamana
Niveau 5
Niveau 5
Messages : 108
Enregistré le : dim. 09 sept. 2012 16:37
Status : Hors ligne

[R] Recherche version Java, adobe...

#1

Message par Amesamana »

Bonjour,

J'ai fouillé un peu partout sur le site, et sur la toile mais je n'arrive pas à trouver les .exe de certaines applications.

Je veux utiliser FileGetVersion pour extraire les versions.
Pour java et adobe reader et Flash j'ai tenté plein de solution mais le résultat reste toujours 0.0.0.0 :evil:

Il doit être possible d'utiliser FileGetVersion pour extraire ces versions ?

Exemple :

Code : Tout sélectionner

Local $ver = FileGetVersion('jre.exe')
MsgBox(0, 'Java', $ver)
Je fais actuellement une extraction de cette clé :

Code : Tout sélectionner

 RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JavaRuntimeEnvironment", "Java7FamilyVersion")
Mais pas sur que ça soit bon.
D'ailleurs confirmation aujourd'hui car version 7.25
Image

Alors que j'ai toujours 7.21 sur cette clé ???

Image
et cela même après un reboot.

J'ai bien trouvé cette fonction de Mickell, mais si je ne cherche que la version je n'arrive pas à l'utiliser :roll:
Sous Uninstall pas de java.

Code : Tout sélectionner

Func _CheckJava()   ; détection
$search = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
For $i = 1 to 999
    $test_key = RegEnumKey($search, $i)
    If @error <> 0 then ExitLoop
    If StringInStr(RegRead($search & "\" & $test_key, "DisplayName"), "Java") Then
    $n += 1
    $javas[$n][0] = RegRead($search & "\" & $test_key, "DisplayName")
    $javas[$n][1] = RegRead($search & "\" & $test_key, "DisplayVersion")
    $javas[$n][2] = RegRead($search & "\" & $test_key, "Uninstallstring")
    If @error Then $javas[$n][2] = "aucun"
    EndIf
Next
_ArraySort($javas, 1, 0, 0, 1)  ; classement par numéro de version descendant
ReDim $javas[$n][3]
EndFunc
Merci.
Modifié en dernier par Amesamana le dim. 23 juin 2013 00:49, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recherche version Java, adobe...

#2

Message par mikell »

Sur mon XP avec Java6, ça marche

Code : Tout sélectionner

Local $ver = FileGetVersion("C:\Program Files\Java\jre6\bin\java.exe")
MsgBox(0, 'Java', $ver)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Recherche version Java, adobe...

#3

Message par jguinch »

Salut.
Sous Uninstall pas de java.
Etonnant...
Est-ce que par hasard ton OS ne serait pas un Windows 64 bits ? Dans le cas, il faudra regarder dans HKEY_LOCAL_MACHINE\Software ET dans HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node, car java peut être installé en 32 ou 64 bits.

Sinon, moyen simple qui me plait bien (mais alors très très lent !) : la requête WMI.
► Afficher le texte

@mikell : ah oui, c'est bien plus simple :oops: . Reste à lister les dossiers dans C:\Program Files\Java pour gérer les versions différentes (jre7 ...)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recherche version Java, adobe...

#4

Message par mikell »

S'il faut rechercher et trier dans C:\Program Files\Java, pas sûr que la méthode WMI soit plus lente :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Amesamana
Niveau 5
Niveau 5
Messages : 108
Enregistré le : dim. 09 sept. 2012 16:37
Status : Hors ligne

Re: [..] Recherche version Java, adobe...

#5

Message par Amesamana »

Merci,

@mikell,

Sous W7 64 pas de réponse à cette première aide.
Mais ta réponse ma emmené à ce chemin :

Code : Tout sélectionner

 Local $ver = FileGetVersion("C:\Program Files (x86)\Java\jre7\bin\java.exe")
MsgBox(0, 'Java', $ver)
Ce chemin indique bien le résultat.
Je recherche dans les clés, mais apparemment ce n'est pas toujours la solution.

@jguinch,

la requête WMI fonctionne sans soucis mais effectivement un affichage plus long.
Mais n'est-ce pas le moyen plus sur et le moins fastidieux ?

A tester :)

Merci pour votre réponse.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Recherche version Java, adobe...

#6

Message par mikell »

@le danseur
J'ai sauvagement bourré le code dans l'include mais c'est effectivement plus rapide
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Recherche version Java, adobe...

#7

Message par jguinch »

@mikell : environ 10 fois plus rapide oui...
L'intérêt de la requête WMI, c'est qu'elle fonctionne quel que soit le dossier d'installation du programme.
On peu maintenant imaginer un gugusse qui installe son runtime Java dans c:\chemin_a_la_con\java : dans ce cas la requête WMI sera le moyen le plus sûr :P
...mais les chances de se retrouver un tel cas de figure sont minces.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Recherche version Java, adobe...

#8

Message par mikell »

Perso l'hypothèse chemin_a_la_con aussi improbable soit-elle me suffit pour préférer la méthode WMI même si elle est lente, ce qui est très relatif d'ailleurs : sur mon pc c'est 1.2 sec (pas le temps d'aller ouvrir une bière) contre 1.9 sec pour une recherche effectuée à partir de C:\
Toutefois je te suggère de tester ce mix
► Afficher le texte
Evidemment, s'il y a une version installée dans C:\Program Files\Java et une autre dans c:\chemin_a_la_con\java , seul ton WMI pur et dur marchera ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [R] Recherche version Java, adobe...

#9

Message par TopXm »

Hello :)

Sinon si je ne m'abuse, le chemin d'installation de Java doit se trouver dans le registre ;)

Par exemple :

Code : Tout sélectionner

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_25
JavaHome
++ :)
Répondre