Gibt es eine Möglichkeit, Programme ohne die grafische Oberfläche zu deinstallieren und dies über CMD zu tun?
Gibt es eine Möglichkeit, Programme ohne die grafische Oberfläche zu deinstallieren und dies über CMD zu tun?
Jedes Programm, das sich ordnungsgemäß gemäß den Richtlinien von Microsoft installiert, erstellt einen Registrierungseintrag in HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
. Normalerweise ist der Schlüssel für das Programm die GUID oder der Name des Programms. Innerhalb dieses Schlüssels wird ein Eintrag aufgerufen UninstallString
. Dieser enthält den auszuführenden Befehl zum Deinstallieren des Programms.
Wenn Sie bereits im Voraus wissen, was Sie deinstallieren werden, sollte es einfach genug sein, dies in Ihre Batch-Datei aufzunehmen. Es wird jedoch schwierig, diesen Prozess zu automatisieren. Sie können den reg
Befehl verwenden, um Daten aus der Registrierung abzurufen. Er gibt jedoch eine Menge Text um den tatsächlichen Wert eines bestimmten Schlüssels zurück, wodurch die Verwendung erschwert wird. Möglicherweise möchten Sie mit der Verwendung von VBscript oder PowerShell experimentieren, da diese über bessere Optionen zum Abrufen von Daten aus der Registrierung in eine Variable verfügen.
Mit WMIC können Sie das richtige Deinstallationsprogramm aufrufen, ohne die GUID usw. zu kennen.
So zeigen Sie eine Liste der Namen der Programme an, die Windows intern bekannt sind:
wmic product get name
Suchen Sie nach Ihrem Produktnamen. Es stimmt wahrscheinlich mit dem überein, der in der Systemsteuerung "Programme und Funktionen" aufgeführt wird , aber nicht immer.
Dann können Sie verwenden
wmic product where name="_my_product_name" call uninstall
Um die Deinstallation durchzuführen, sollte AFAIK schweigen (es ist meiner Erfahrung nach aber probieren Sie es aus, bevor Sie die Farm darauf setzen. Schweigen kann davon abhängen, wie Ihr Installer / Deinstaller erstellt wurde).
Sehen Sie hier für mehr:
Es gibt auch Referenzdokumentation für WMIC auf microsoft.com.
/node:"<ComputerName>"
ex: hinzufügenwmic /node:"someuser-pc" product get name
. Stellen Sie sicher, dass Sie "" um den Namen herum verwenden, da sonst der Fehler "Ungültiger globaler Switch" auftritt. Stellen Sie außerdem sicher, dass Sie dies von einer CMD-Eingabeaufforderung und nicht von einer PowerShell-Eingabeaufforderung aus ausführen, da die "" Problemumgehung für den Fehler "" Ungültiger globaler Switch "in der PowerShell-Eingabeaufforderung nicht funktioniert.Wenn Sie PowerShell 3 (oder höher) installiert haben, können Sie einen WMI-Aufruf ausgeben, um alle Programme mit einem bestimmten Namen (oder "Gefällt mir", um Platzhaltersuchen durchzuführen) abzurufen, und dann die
Uninstall
Methode für jedes dieser Programme aufrufen :(Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name like '%Partial Name%'").uninstall()
quelle
Wenn Sie wissen, wo sich die MSI-Installationsdatei befindet, können Sie Folgendes verwenden:
quelle
Wenn ein Programm Windows Installer verwendet, können Sie einen der folgenden Befehle verwenden:
Wahrscheinlich verfügen Sie jedoch weder über den Produktcode noch über die ursprüngliche MSI-Datei, die für die Installation verwendet wurde.
Ansonsten gibt es keinen allgemeinen Deinstallationsbefehl, da Installer, die Windows Installer nicht verwenden, dem Betriebssystem "unbekannt" sind. Sie stellen möglicherweise ihre eigene ausführbare Deinstallationsdatei zur Verfügung. Ob diese ausführbare Datei jedoch eine Möglichkeit zum Ausführen ohne GUI enthält, hängt vom jeweiligen Softwarepaket ab.
quelle
Ein VBScript-Skript hilft Ihnen bei der Deinstallation des erforderlichen Programms.
Zur Verwendung dieses Skripts benötigen Sie den Namen der Software, die sich in Ihrer Registrierung befindet.
Geben Sie einfach den Anwendungsnamen in das Skript ein und führen Sie ihn mit Administratorrechten aus. Es wird die Anwendung deinstallieren. Dies funktioniert jedoch nur für fensterbasierte Anwendungen. Für Standalone-Setups oder Apps, die keinen Eintrag in der Deinstallationszeichenfolge der Registrierung vornehmen, funktioniert das Skript nicht.
In diesem Fall müssen Sie einen anderen Weg finden, um die Anwendung zu deinstallieren.
Code:
quelle
Überprüfen Sie dies, dies verwendet einen Stapel, suchen Sie den UninstallString-Registrierungsschlüssel der Software und deinstallieren Sie die Software dann im Hintergrund, was im Vergleich zu wmic, das ich gefunden habe, viel zuverlässiger ist . https://community.spiceworks.com/topic/2143980-deploy-or-upgrade-java-8-via-shutdown-script-remove-old-javas
quelle
Die richtige Antwort ist oben, aber für Windows X64-Installationen müssen Sie auch Folgendes überprüfen:
quelle