Demande d'aide sur script de desinstallation logiciels [Résolu]

Signaler
Messages postés
86
Date d'inscription
samedi 30 septembre 2006
Statut
Membre
Dernière intervention
15 avril 2020
-
Messages postés
12746
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 octobre 2020
-
Bonjour à tous,

Je suis en train de me casser la tête sur un script pour désinstaller automatiquement une version de Firefox en 32 bits qui ne se désinstalle pas automatiquement à l'installation d'un nouvelle version mais en 64 bits.

Firefox n'ayant pas de GUID dans le registre, je bloque sur les lignes de commandes.
J'ai fait une requête d'information sur le registre par une reg query mais ensuite, je n'arrive pas à faire une conditionnelle à partir de ces éléments donnés par la reg query afin que /uninstall ne s'applique que si c'est cette version.

J'en ai besoin suite à une faille de sécurité sur la version à installer et à remplacer par une version 64 bits.
Et pour ne pas avoir à passer sur tous les ordinateurs pour faire la modif à la main, le tout en période de confinement et de distanciation sociale, un script exécuté par GPO au démarrage de l'ordinateur résoudrait tout.

Pour là où je me suis arrêté :
------
@echo off
reg query "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox52.9.0 ESR (x86 fr)"
IF /I Exist %DisplayVersion% GOTO Uninstall else GOTO END
:Uninstall
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" /uninstall
:END
echo end
------

J'ai testé plusieurs ligne IF, j'ai testé aussi !DisplayVersion!
Ma conditionnelle ne fonctionne pas, elle ne fait pas le tri et exécute toute les lignes de commande car elle ne comprend pas mon IF ...

A l'aide svp

3 réponses

Messages postés
12746
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 octobre 2020
3 689
Bonjour,

Pourquoi ne pas faire simplement comme ça :

@echo off

set cible="%ProgramFiles(x86)%\Mozilla Firefox\firefox.exe"

if exist %cible% (%cible% /uninstall)

pause
exit


Messages postés
86
Date d'inscription
samedi 30 septembre 2006
Statut
Membre
Dernière intervention
15 avril 2020
5
Parce que nous voulons cibler une version précise et que certains ordinateurs ont une version 32 bits nécessaire au fonctionnement d'un logiciel.
Nous ne pouvons pas simplement lancer cette commande, cela mettra ce logiciel en croix.

Mais tu m'as donné une idée : si après mon reg query qui me donne des information, je fais set cible sur un des résultats du reg query, est ce que cette définition de paramètres va fonctionner et me permettre de faire une conditionnelle à partir de ce set cible.
Je vais tester ça aujourd'hui.

Merci.

Je te tiens au jus si ça fonctionne ou pas.
Pour mettre le résultat de ton REG QUERY dans une variable, il faut utiliser une boucle FOR /F

f
or /f "delims=" %%A in ('reg query "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox52.9.0 ESR ^(x86 fr^)"') do echo %%A
Messages postés
86
Date d'inscription
samedi 30 septembre 2006
Statut
Membre
Dernière intervention
15 avril 2020
5
Barnabe0057 , Ça fonctionne, seules les versions voulues se suppriment.
Bon maintenant, autre problème, en supprimant la version sur l'ordinateur alors qu'il y a déjà la version 64 bits installées, ça supprime le raccourci sur le bureau.
Bon c'est pas que mes utilisateurs sont des billes en bureautique mais, .... , enfin, ... comment dire ? .... ce sont des billes en bureautique ....
Plus qu'à faire remettre le raccourci par notre GPO raccourci.
En tout cas merci, tes infos et conseils m'ont donnée l'idée de faire autrement et c'est parfait.
Messages postés
12746
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 octobre 2020
3 689
De rien ;) à bientôt peut-être.