[..] Script pour la suppression des versions de Java

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Neustradamus
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 août 2011 02:04
Status : Hors ligne

[..] Script pour la suppression des versions de Java

#1

Message par Neustradamus »

Bonjour,

Je recherche un script permettant de supprimer automatiquement toutes les versions de Java SE qui ont été installées pour ainsi lancer dans la fouler l'installation d'une nouvelle version.

Merci d'avance!
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#2

Message par mikell »

Désolé j'ai pas le temps de faire le script complet mais voilà l'idée

Tu fais une boucle qui va chercher dans le registre à :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
toutes les clés qui contiennent une sous-clé "DisplayName" avec le mot "java" et une sous-clé "UninstallString"
Ces clés obtenues seront (exemple) de la forme : {26A24AE4-039D-4CA4-87B4-2F83216023FF}
Tu les mets en variable ($cle par exemple) et tu mets cette instruction :
RunWait('msiexec /x "' & $cle & '" /qn') pour une désinstallation silencieuse

EDIT
y a plus simple
Ce code est pour tester, pour désinstaller ya une petite modif à faire :

Code : Tout sélectionner

$text = "Liste" & @CRLF & "------------------" & @CRLF 
Dim $Obj_WMIService = ObjGet('winmgmts:\\' & "localhost" & '\root\cimv2')
If (IsObj($Obj_WMIService)) And (Not @error) Then
    Dim $colItems = $Obj_WMIService.ExecQuery("Select * from Win32_Product where Name like '%Java%'")
    Local $objItem
    For $objItem In $colItems
        $text &= $objItem.Name & @CRLF
    ; [color=#FF0000]$objItem.Uninstall()  ; <= à valider pour désinstallation[/color]
    Next
EndIf
MsgBox(0,"", $text)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Neustradamus
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 août 2011 02:04
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#3

Message par Neustradamus »

Bonjour,

Merci pour ce script mais je ne suis pas un pro, si quelqu'un pourrait faire un script complet, tout le monde serait heureux :)

Merci beaucoup d'avance!
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#4

Message par mikell »

Pas de problème mais 2 questions
1 - tu as testé le script ? déjà tel quel, il est opérationnel
2 - si ça doit être un peu plus complexe, avec fenêtre(s) de message, fichier log des versions désinstallées, choix entre programme silencieux ou gui, etc, alors il faut donner le plus de précisions possibles sur la forme souhaitée :wink:
" 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
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#5

Message par sksbir »

salut Mikell, j'ai testé ton script, mais il doit y avoir un soucis avec l'objet appelé, car après avoir enlevé le filtre ( c'est devenu $Obj_WMIService.ExecQuery("Select * from Win32_Product") ) , je n'ai qu'un programme installé qui remonte dans la liste, alors que j'en ai au moins une trentaine d'installés, dont Java(TM) 6 Update 18

Ma plateforme de test est sous windows XP SP3, le PC est intégré à un domaine.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#6

Message par mikell »

A priori un script de désinstallation comme ça est fait pour fonctionner en local, mais on peut le faire marcher avec un autre pc du domaine avec des droits d'administrateur et si on a le nom de ce pc, dans ce cas il faut remplacer dans le script "localhost" par "le_nom_du_pc"
Faudrait vérifier dans le registre local si les clés que je mentionne dans mon premier post existent
" 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
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#7

Message par sksbir »

mikell a écrit :A priori un script de désinstallation comme ça est fait pour fonctionner en local, mais on peut le faire marcher avec un autre pc du domaine avec des droits d'administrateur et si on a le nom de ce pc, dans ce cas il faut remplacer dans le script "localhost" par "le_nom_du_pc"
Faudrait vérifier dans le registre local si les clés que je mentionne dans mon premier post existent
Je n'ai pas dit que je voulais faire fonctionner ton script à distance. Je l'ai testé tel quel, en vue de faire l'inventaire des logiciels installés localement. Et ça ne renvoie qu'un seul logiciel.
Ce logiciel, je le trouve dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A3F37A60-38EE-4C85-AA68-74D2BEAB6009} , mais j'ai également une bonne centaine de sous-clés dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ qui correspondent bien à d'autres programmes installés.

Et chez toi, ton programme te renvoie l'intégralité des programmes installés ?
Alex74
Niveau 4
Niveau 4
Messages : 73
Enregistré le : ven. 15 avr. 2011 15:24
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#8

Message par Alex74 »

Bonjour,

sinon il existe déjà un utilitaire prévu à cet effet: JavaRa
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#9

Message par mikell »

sksbir a écrit :Et chez toi, ton programme te renvoie l'intégralité des programmes installés ?
Il renvoie les programmes qui ont été installés avec l'installateur msiexec (dont chez moi Java 6 update 23 et Java Auto Updater)
Ce qu'il faut vérifier c'est si dans tes clés HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall il y en a qui concernent Java, pour ça utilise ce script :
► Afficher le texte
Alex74 a écrit :il existe déjà un utilitaire prévu à cet effet: JavaRa
Tout dépend de ce qu'on veut faire, résoudre le problème avec AutoIt pour Java peut donner la recette pour résoudre d'autres cas (les machins Adobe par exemple)
" 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
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#10

Message par sksbir »

@mikell : oui, ton programme qui explore les clés de registre fonctionne très bien lui, ce qui me fait dire que la version qui s'appuye sur winmgmts n'est pas au point.

Ceci dit, s'appuyer sur les clés de registre n'est pas tip top. Perso, j'utilise ce genre de programme qui a un seul inconvénient : ça ne fonctionne que pour les MSI.
► Afficher le texte
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#11

Message par mikell »

sksbir a écrit :... la version qui s'appuye sur winmgmts n'est pas au point.
Il manque probablement des paramètres d'authentification dans l'appel wmi
Les réseaux je connais pas bien c'est pour ça que sur ce coup je sèche Image
sksbir a écrit :s'appuyer sur les clés de registre n'est pas tip top.
Oui mais ça marche
Si mon script te renvoie des valeurs pour "UninstallString" alors on sait comment désinstaller... si en plus ces valeurs commencent par MsiExec.exe alors on peut désinstaller avec msiexec, et ça c'est facile, c'est 1 ligne à rajouter à mon script Image
Voilà ce que ça pourrait donner, fini (c'est spartiate mais clair)
► 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
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#12

Message par TopXm »

Hello :D

Sinon peut-être utiliser JavaRa qui est prévu à cet effet ;)

Site de l'éditeur

NB : J'ai fait un tuto de JavaRa sur un autre site, ne sachant pas si c'est correct de le poster ici je m'abstiendrai 8)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#13

Message par mikell »

@TopXm
le Mer 21 Sep 2011 17:30, Alex74 a écrit : il existe déjà un utilitaire prévu à cet effet: JavaRa
De plus, si tu lis les posts tu as vu mon commentaire là-dessus : JavaRa est très bien mais ici c'est un forum AutoIt
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Neustradamus
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 août 2011 02:04
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#14

Message par Neustradamus »

Bonjour,

Merci pour vos réponses :)

Mais le script donne uniquement la ou les clé(s).

Est-ce qu'il est possible que le script détecte les versions et les suppriment automatiquement à la suite (version plus récente à la plus vieille) ?

Je vous remercie d'avance!
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script pour la suppression des versions de Java

#15

Message par mikell »

Neustradamus a écrit :Est-ce qu'il est possible que le script détecte les versions et les suppriment automatiquement à la suite (version plus récente à la plus vieille)
Oui
► Afficher le texte
Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre