2016-06-28 9 views
0

Ich kenne den Installationsort eines Programms, das über ein MSI installiert wurde. Ich möchte ein Skript schreiben, das es entfernt. Ich kenne die GUID nicht, da sie sich oft ändert. Wie erreiche ich dieses Ziel?Deinstallieren eines über MSI installierten Programms - Nur den Installationsort kennen

Ich habe die command line options für das Installer-Tool ausgecheckt, aber ich habe nichts gesehen, das es mir erlauben würde, den Installationsort anzugeben, um ein Produkt auszuwählen.

+2

Angenommen, Sie einen Code für diese schreiben können, können Sie die Techniken versuchen I [hier] (http abgedeckt: // Stackoverflow. com/a/37591273/89999). –

Antwort

2

Sie müssen den Upgrade-Code finden (suchen Sie in der Installationsprotokolldatei für die Eigenschaft).

Verwenden Sie von dort aus MsiEnumRelatedProducts, um über alle Instanzen des Produkts zu iterieren. Die überwiegende Mehrheit der Produkte unterstützt keine Installationen mit mehreren Instanzen. Daher sollte nur ein Produktcode im Puffer zurückgegeben werden. Wenn Sie den ProductCode kennen, können Sie msiexec /x {PRODUCT-GUID} nach Herzenslust bearbeiten.

Wenn Sie mit C++ nicht vertraut sind, können Sie verschiedene Implementierungen von MsiEnumRelatedProducts in PowerShell-Erweiterungen und C# -Bibliotheken finden, um nur einige zu nennen.

1

Sie können den Produktcode wie diese finden: How can I find the product GUID of an installed MSI setup? und rufen Sie die Deinstallation mit: msiexec.exe/x {product-guid-hier}

Es gibt viele Möglichkeiten, um eine MSI-Datei zu deinstallieren, sind hier 13 verschiedene Möglichkeiten: Uninstalling an MSI file from the command line without using msiexec. In Abschnitt 5 finden Sie eine Möglichkeit zur Deinstallation nach Produktnamen mit PowerShell.

hier ein VBScript ist, die durch das Lesen der Produktdetails aus der Registrierung Deinstallationen: http://www.symantec.com/connect/downloads/uninstall-application-using-guid-registry