Löschen von Einträgen in der InstallerDB

Alle Fragen rund Antworten rund um die ACMP Client Commands und Container
Antworten
klenke
Beiträge: 23
Registriert: So Jan 12, 2014 3:25 pm

Hallo,

ich hoffe ich habe die Überschrift richtig formuliert.
Ich habe das Problem, das ein Agent im Netz über GPOs verteilt wurde.
Leider lief diese Art der Verteilung aus dem Ruder.
Ich habe nun folgende Situation, das unter "Programme und Funktionen" die Software nicht mehr eingetragen ist.
Auf LAufwerk C:\Programme\.. sind noch 2 Ordner und 2 Dateien vorhanden.
In der Installer-DB von Windows befinden sich ggf 1-3 Einträge dieser Software.
Die Installation fährt dann immer wegen dieser Einträge vor die Wand.


Mein Workaround ist nun von MS das Programm "MS Installer Clean UP" (msicuu2.exe) zu installieren und so die Einträge
zu löschen.
Danach ist dann eine Installation der Software möglich.

Ich wollte nun die verteilung auf ACMP umstellen, sehe aber durch die ggfs. vorhanden DB-Einträge eine sehr große Chance
das es sich bei der Installation ebenso verhält.

Ich habe nun die Hoffnung, das es die Möglichkeit gibt ein CC zu schreiben, welches einmal die Ordnerstruktur prüft und ob
der Agent installiert ist.
Sollte die Ordnerstrukrtur dem bekannten Fehler wiedergeben und unter "Programme und Funktionen" ekin Eintrag stehen, so
müßte es die Möglichkeit geben die eventuell vorhandenen DB-Einträge per CC zu löschen und das ganze etwas zu automatisieren.

Kann man so etwas per CC realisieren ohne "MS Installer Clean UP" installieren zu müssen?

Vielen Dank.
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Hallo klenke,

sofern Sie mit der "InstallerDB" die Datenbank des "Windows Installers" für MSI-Dateien meinen, die noch Einträge von Programmen enthält, die sich z.B. nicht korrekt deinstallieren lassen und hierdurch statt einer normalen Installationsroutine beim Aufruf die Möglichkeit bieten, das Produkt zu Ändern/Reparieren/Deinstallieren, können Sie zum Entfernen der Einträge wie folgt vorgehen:

1. Suchen Sie in der Registry unter "HKEY_CLASSES_ROOT\Installer\Products\" nach Schlüsseln, die zu Ihrem Produkt gehören (die Schlüssel verfügen über einen entsprechenden Wert "ProductName")
2. Notieren/Speichern Sie sich den Namen des Schlüssels
3. Löschen Sie unter "HKEY_CLASSES_ROOT\Installer\Features\" den Schlüssel mit dem zuvor gesicherten Namen
4. Löschen Sie unter "HKEY_CLASSES_ROOT\Installer\UpgradeCodes\" alle Schlüssel, die den gesicherten Schlüsselnamen als Wert besitzen
5. Löschen Sie abschließend unter "HKEY_CLASSES_ROOT\Installer\Products\" ebenfalls diesen Schlüssel
1.png
1.png (109.11 KiB) 4046 mal betrachtet
2.png
2.png (96.16 KiB) 4046 mal betrachtet
Eine anschließende Überprüfung mittels z.B. des Powershell-Befehls "gwmi win32_product" sollte das Produkt nun nichtmehr aufführen, sodass einer "frischen" Installation nichtsmehr im Wege stehen sollte.
Für die Abstraktion dieser Schritte in ein ACMP Client Command sollten bereits entsprechende Commands, wie z.B. das "Iterate registry", bereitgestellt werden.
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
klenke
Beiträge: 23
Registriert: So Jan 12, 2014 3:25 pm

Vielen Dank
Ich sehe mir das mal an.
Antworten