Hallo zusammen,
ich habe folgendes Problem:
Ich möchte einen Automatismus zur Deinstallation eines spezifischen Programms, was sich nicht über die Uninstall-Befehle bewerkstelligen lässt, erstellen.
Der Aufruf über das Control Panel ist mir zu unsauber und scheitert auch an der UAC (da der Aufruf wiederum unabhängig eine msi ausführt, bringt mir auch #requireadmin nichts).
Jetzt gibt es bei Windows die entsprechenden Installer-Pakete als msi unter C:\Windows\Installer.
Da, soweit ich weiß, die Benennung dynamisch ist und ich mich nicht auf eine eindeutige Benennung verlassen kann, möchte ich diese Information aus der registry kriegen. Unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-*-*-*\Products\*ID*\InstallProperties bekomme ich diese Info aus der REG_SZ "LocalPackage".
Da aber auch der Pfad hierhin dynamisch sein kann, möchte ich aus der fixen Info, dass sich dieser Key mit der Info zum Installer-Paket unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\Unterordner befindet, mit Hilfe eines Tricks, diese Dynamik umgehen, indem ich nach dem Key "Publisher" suche, dessen Wert mir bekannt und eindeutig ist. Dieser befindet sich im selben Verzeichnis, sodass ich mit der damit bekanntgewordenen Info gezielt den Key "LocalPackage" auslesen und damit die Installer-msi der Software erhalte, die ich wiederum direkt aufrufen und somit der UAC entgegenwirke, weil ich dann den Aufruf der msi direkt aus meinem Script (das mit Admin-Rechten gestartet ist) aufrufen kann.
Ich brauche Hilfe, wie ich den Registry-Pfad des Ergebnis-Keys "Publisher" abgreifen und in eine Variable packen kann, um diese weiterverwenden zu können.
Leider habe ich bei meiner Suche nur Lösungen zur Weiterverwendung des Such-Keys gefunden, nicht aber des Verzeichnisses.
Danke euch schon mal.