Désinstaller un programme silencieusement

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 15:50
Localisation : Tours
Status : Hors ligne

Désinstaller un programme silencieusement

#1

Message par Wiltech »

Bonjour,
j'aurais besoin d'aide pour désinstaller avec un script un programme silencieusement et plus particulièrement TeamViewer cela est t'il possible ?

Merci à tous ceux qui m'aiderons :D :D
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#2

Message par TommyDDR »

Clé : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
Cherchez TeamViewer
Regardez la valeur de "QuietUninstallString"

Exemple pour Discord : C:\Users\TommyDDR\AppData\Local\Discord\Update.exe --uninstall -s

Voilà !
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 15:50
Localisation : Tours
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#3

Message par Wiltech »

TommyDDR a écrit : mer. 29 mai 2019 21:46 Clé : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
Cherchez TeamViewer
Regardez la valeur de "QuietUninstallString"

Exemple pour Discord : C:\Users\TommyDDR\AppData\Local\Discord\Update.exe --uninstall -s

Voilà !
Justement j'ai déjà essayer mais il n'y a pas teamViewer dans la base de registre et quand je lance ta commande çà ma lance la désinstallation graphique alors que moi je voudrais juste a avoir a lancer la commande et que ce ce désinstalle out seul, une autre solution ?
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#4

Message par TommyDDR »

L'exemple pour discord est bien la désinstallation silencieuse (vous avez bien mis " --uninstall -s" à la fin ?)
Je l'ai essayé suite à votre message et il s'est bien désinstallé (vous me devez une installation de discord !)

Malheureusement je n'ai pas teamviewer mais s'il a été installé de façon classique et qu'il apparait dans "désinstaller un programme" c'est qu'il doit être dans l'une des clés.
il porte peut être un autre nom.. (essayez les {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})
(Python et visual studio code ne portent pas leur noms par exemple)

Edit: Sinon vous allez sur votre moteur de recherche préféré, vous tapez "teamviewer silent uninstall" et le 1er lien vous donnera la solution, désolé d'avoir pensé que vous aviez déjà fait la recherche ! :evil:
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 15:50
Localisation : Tours
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#5

Message par Wiltech »

Pour ceux qui aurais le problème j'ai trouvé la solution dans powershell ci votre programme contient un uninstall taper le chemin jusqu'au programme puis /S en majuscule le S.

Exemple pour teamviewer :

Code : Tout sélectionner

 C:\'Program Files (x86)'\TeamViewer\uninstall.exe /S
Lancer la commande avec un script autoit :

Code : Tout sélectionner

RunWait("powershell.exe C:\'Program Files (x86)'\TeamViewer\uninstall.exe /S", "", @SW_HIDE)
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#6

Message par TommyDDR »

Il serait plus propre / lisible de faire :
RunWait('powershell.exe "C:\Program Files (x86)\TeamViewer\uninstall.exe" /S', "", @SW_HIDE)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#7

Message par orax »

Mais pourquoi exécuter powershell.exe ?

Code : Tout sélectionner

RunWait("C:\Program Files (x86)\TeamViewer\uninstall.exe /S")
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Désinstaller un programme silencieusement  

#8

Message par Tlem »

+1 avec orax.

Et même, pourquoi utiliser le RunWait ?
ShellExecute convient aussi.

Code : Tout sélectionner

ShellExecuteWait("C:\Program Files (x86)\TeamViewer\uninstall.exe", "/S", "open", @SW_HIDE)
Après ce code présente l'inconvénient d'utiliser un chemin qui peux être faux !
Même si j'ai bien lu le message #3 de Wiltech dans lequel il dit ne pas avoir de clé de registre concernant Teamviewer, cela n'est pas possible s'il a été installé !
Sans doute a-il oublié de regarder dans WOW6432Node. ^^

Pour une version installée de TeamViewer, voici ce que je recommande :

Code : Tout sélectionner

If @OSArch = "X86" Then
	$InstPath = RegRead("HKLM\SOFTWARE\TeamViewer", "InstallationDirectory")
Else
	$InstPath = RegRead("HKLM\SOFTWARE\WOW6432Node\TeamViewer", "InstallationDirectory")
EndIf
If $InstPath <> "" Then
	ShellExecuteWait($InstPath & "\uninstall.exe", "/S", "open", @SW_HIDE)
Else
	MsgBox(32, "Info", "TeamViewer ne semble pas installé sur ce poste.")
EndIf
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 15:50
Localisation : Tours
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#9

Message par Wiltech »

Effectivement j'avais trouvé après quelque recherche le chemin dans la base de registre du désinstalleur, je vois que les modérateur et administrateur sont au taquet lol :D Merci pour vos réponse je vais pouvoir optimiser mon code :D
Et il y aurais un moyen de savoir ci la commande à réussie ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Désinstaller un programme silencieusement

#10

Message par Tlem »

Dans la documentation de ShellExecuteWait() regardez dans "Valeur de retour". :P
Cliquez sur le mot ci-dessus pour la traduction.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre