Laden...

Programm aus Softwareliste deinstallieren?

Erstellt von tikra vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.853 Views
tikra Themenstarter:in
185 Beiträge seit 2007
vor 14 Jahren
Programm aus Softwareliste deinstallieren?

Hallo,

ich würde gerne ein Programm aus der Softwareliste programmgesteuert entfernen/deinstallieren lassen.

In dem Programmordner befindet sich zwar eine uninst.exe, diese funktioniert allerdings nicht.

Die Frage ist nun, WAS genau wird ausgelöst (und wie kann man es im Programm ausführen), wenn man unter Windows auf den "Entfernen"-Button in der Softwareliste klickt.

Habe schon diverse Sachen mit WMI ausprobiert, dies funktioniert allerdings nur mit Software, welche spezielle (ich komme nicht dahinter welche genau) Eigenschaften erfüllen.

Auch angeschaut habe ich mir MSI-Packages, würde es ein MSI-Package zu dem Programm geben könnte man es mit einem /x Parameter deinstallieren, ist allerdings wie gesagt nicht vorhanden... was nun?

Vielen Dank und lieben Gruß!

R
234 Beiträge seit 2007
vor 14 Jahren

Googel mal nach deinem Titel. Der erste Treffer scheint vielversprechend zu sein.

tikra Themenstarter:in
185 Beiträge seit 2007
vor 14 Jahren

Nein, das löscht nur den Eintrag in der Liste, das Programm an sich bleibt installiert.

tikra Themenstarter:in
185 Beiträge seit 2007
vor 14 Jahren

Habe die korrekt *.exe zum deinstallieren gefunden, werde es zunächst einmal damit implementieren.

Da dies keine wirklich elegante Lösung ist würde ich trotzdem gerne auf eure Lösungen warten.

Gruß

R
234 Beiträge seit 2007
vor 14 Jahren

Hatte es so verstanden, dass du die Software nur aus der Softwareliste entfernen willst, dieser Begriff häufiger in deinem Beitrag aufgetaucht ist.

Was passiert, wenn du auf den "Entfernen"-Button klickst ist abhängig von der Software. Grundsätzlich wird aber das ausgeführt was in "UninstallString" unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{Schlüssel des Programms}\ steht. Wenn dort allerdings auch nur die kaputte uninst.exe aufgerufen wird, sieht es eher schlecht für dich aus. Im nachhinein lässt sich ja nicht mehr nachvollziehen, wo sich das Programm überall verewigt hat (Registry, System-Order etc.).

Mein Vorschlag wäre dann, eine saubere VM aufzusetzen und das Setup des Programms mit FileMon und RegMon zu beobachten. Dann kannst du eine Deinstallationsroutine nachbauen. Das wird aber wahrscheinlich mit einigem Aufwand verbunden sein.

/Edit: Wobei das vermutlich noch uneleganter wäre. 😉 Was stört dich denn an deiner aktuellen Lösung?

tikra Themenstarter:in
185 Beiträge seit 2007
vor 14 Jahren

Es gab eine andere Datei "NTRmv.exe", diese ist die eigentliche Deinstallations-Datei, nicht die uninst.exe, vielleicht wird letztere durch erstere mit bestimmten Parametern aufgerufen oder ähnliches, aber ist ja auch egal.

Wenn der Entfernen-Button auch nichts anderes macht außer die passende Datei für die Deinstallation aus der Registry zu suchen, dann kann ich diese ja auch direkt verwenden...

Danke! 😃

3.971 Beiträge seit 2006
vor 14 Jahren

Zum Deinstallieren suchst du dir den entsprechenden ProductCode aus HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall raus und ließt dir den UninstallString aus und führst das ganze aus.

Bei MSI-Paketen reicht es auch schon aus, wenn du


msiexec.exe /x {ProductCode}

ausführst. Eventuell noch Option /q hinzufügen für Silent. Für weitere Hilfe kannst du die MSDN befragen oder einfach mal msiexec /? in der Console eingeben.

Bei nicht MSI-Paketen muss es immer eine entsprechende Uninstall.exe (oder Setup.exe mit Uninstall-Option) geben.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...