Existe-t-il un moyen de désinstaller des programmes sans l'interface graphique et de le faire via CMD?
Existe-t-il un moyen de désinstaller des programmes sans l'interface graphique et de le faire via CMD?
Chaque programme qui s'installe correctement selon les directives de Microsoft crée une entrée de registre dans HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
. Habituellement, la clé du programme sera son GUID, ou bien le nom du programme. Dans cette clé sera une entrée appelée UninstallString
. Il contient la commande à exécuter pour désinstaller le programme.
Si vous savez déjà à l'avance ce que vous allez désinstaller, il devrait être assez facile de simplement le mettre dans votre fichier de commandes. Cela devient difficile lorsque vous essayez d'automatiser ce processus. Vous pouvez utiliser la reg
commande pour obtenir des données du registre, mais elle renvoie beaucoup de texte autour de la valeur réelle d'une clé donnée, ce qui la rend difficile à utiliser. Vous voudrez peut-être expérimenter avec VBscript ou PowerShell, car ils ont de meilleures options pour obtenir des données du registre dans une variable.
Vous pouvez invoquer le programme de désinstallation correct sans connaître le GUID, etc. en utilisant WMIC.
Pour afficher la liste des noms des programmes connus en interne par Windows:
wmic product get name
Recherchez le nom de votre produit. Il correspond probablement à celui répertorié dans le panneau de configuration "Programmes et fonctionnalités" , mais pas toujours.
Ensuite, vous pouvez utiliser
wmic product where name="_my_product_name" call uninstall
pour effectuer la désinstallation, qui AFAIK devrait être silencieux (cela a été dans mon expérience, mais essayez-le avant de parier la ferme sur cela. Le silence peut dépendre de la façon dont votre programme d'installation / désinstallation a été construit).
Voir ici pour plus:
Il existe également une documentation de référence pour WMIC sur microsoft.com.
/node:"<ComputerName>"
ex:wmic /node:"someuser-pc" product get name
. Assurez-vous que vous utilisez "" autour du nom ou vous rencontrerez l'erreur "Invalid Global Switch". Assurez-vous également que vous l'exécutez à partir d'une invite CMD et non d'une invite PowerShell car la solution de contournement pour l'erreur "Invalid Global Switch" ne fonctionne pas dans l'invite PowerShell.Si vous avez PowerShell 3 (ou supérieur) installé, vous pouvez émettre un appel WMI pour obtenir tous les programmes nommés une certaine chose (ou «aimer» une certaine chose, pour effectuer des recherches génériques), puis appeler la
Uninstall
méthode pour chacun d'eux:(Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name like '%Partial Name%'").uninstall()
la source
Si vous savez où se trouve le fichier d'installation MSI, vous pouvez utiliser:
la source
Si un programme utilise Windows Installer, vous pouvez utiliser l'une des commandes suivantes:
Cependant, vous n'avez probablement ni le code produit ni le fichier MSI d'origine utilisé pour l'installation.
En dehors de cela, il n'y a pas de commande de désinstallation générique, car les installateurs qui n'utilisent pas Windows Installer sont "inconnus" par le système d'exploitation. Ils peuvent fournir leur propre exécutable de désinstallation, mais le fait que cet exécutable inclue un moyen de l'exécuter sans interface graphique dépend du progiciel individuel.
la source
Un script VBScript vous aidera à désinstaller le programme requis.
Pour utiliser ce script, vous aurez besoin du nom du logiciel qui se trouve dans votre registre.
Entrez simplement le nom de l'application dans le script et exécutez-le avec les privilèges d'administrateur; il désinstallera l'application. Mais cela ne fonctionnera que pour une application basée sur une fenêtre; pour une configuration autonome ou des applications qui ne font pas d'entrée dans la chaîne de désinstallation du registre, le script ne fonctionnera pas.
Dans ce cas, vous devrez donc trouver un autre moyen de désinstaller l'application.
Code:
la source
Vérifiez cela, cela utilise un lot, recherchez la clé de registre UninstallString du logiciel, puis désinstallez le logiciel en silence, ce qui est beaucoup plus fiable que Wmic que j'ai trouvé. https://community.spiceworks.com/topic/2143980-deploy-or-upgrade-java-8-via-shutdown-script-remove-old-javas
la source
La bonne réponse est ci-dessus, mais pour les installations Windows X64, vous devrez également vérifier:
la source