Ich wüsste gerne euren Rat/Vorgehensvorschlag zum deinstallieren einer bestimmten Windows-software jeglicher version/sprache/...
Betrachten wir als Fallbeispiel zb. den Adobe Reader.
Ich möchte gerne ein Paket erstellen, welches mir zb. in einer SubUninstall.ins (welche ich dann auch vor der installation in der setup.ins aufrufen würde)
jegliche Versionen des Adobe Readers entfernt.
Wenn ich mir wiki/userspace:adobe_reader_x -> SubUninstall ansehe, werden hierbei lediglich spezielle Varianten(jedoch in unterschiedlichen versionen) deinstalliert.
Wenn man sich die Produktkennungen im Detail ansieht -> Kapitel 1.7.1 http://kb2.adobe.com/cps/837/cpsid_8370 ... ration.pdf
Ist die GUID ja folgendermassen aufgebaut:
<product family>-<Reader>-<language code>-<product type>-<license type><major version><major minor version><minor minor version>
AC76BA86-7AD7-1033-7B44-A70500000002
Dann müsste ich nun, um mein Ziel zu erreichen in der Registry nach folgenden Ausdrücken suchen:
AC76BA86-7AD7-XXXX-XXXX-XXXXXXXXXXXX
Das Opsi-Winst-Manual http://download.uib.de/opsi4.0/doc/opsi ... ual-de.pdf -> Kapitel 7.3.7 bietet mir jedoch nicht so recht die Möglichkeiten alle Subschlüssel in der Registry für einen bestimmten Pfad auszugeben, bzw. eine String(RegEx)-matching Funktion.
Nun seid ihr dran. Ist mein Ansatz schon falsch, oder wie macht ihr das?
An die Opsi-Profis: Gibt es sonst noch irgendwelche Funktionen die ich übersehe, bzw. mich zum Ziel führen?
Die Motivation kommt ja daher, dass ich beim Setup gerne fehler umgehen möchte, welche entstehen würden, wenn bereits eine alte Version installiert ist und die neue darüber installiert werden soll. Bzw. den Wunsch nach einer sauberen komplett-deinstallation einer bestimmten Software mit allen versionen.
Alle Softwareversionen anhand Produktkennung deinstallieren
Re: Alle Softwareversionen anhand Produktkennung deinstallie
Hi,
bei dem Ansatz musst Du beachten, das nicht jede GUID so aufgebaut ist.
siehe auch: https://de.wikipedia.org/wiki/Globally_ ... Identifier
Der nächste opsi-winst 4.11.3.2 kennt den gewünschten Befehl wie z.B. getRegistryKeyList32(<regkey>)
Zur Zeit unter experimental zufinden und wandert demnächst über testing nach stable.
http://download.uib.de/opsi4.0/experimental/opsi402-2/
http://download.uib.de/opsi4.0/experime ... 3.2-1.opsi
Aufwendigere Variante:
keys per DosInAnIcon per reg Befehl in eine Datei exportieren und von da einlesen.
Das kann man im swaudit script sich anschauen.
gruss
d.oertel
bei dem Ansatz musst Du beachten, das nicht jede GUID so aufgebaut ist.
siehe auch: https://de.wikipedia.org/wiki/Globally_ ... Identifier
Der nächste opsi-winst 4.11.3.2 kennt den gewünschten Befehl wie z.B. getRegistryKeyList32(<regkey>)
Zur Zeit unter experimental zufinden und wandert demnächst über testing nach stable.
http://download.uib.de/opsi4.0/experimental/opsi402-2/
http://download.uib.de/opsi4.0/experime ... 3.2-1.opsi
Aufwendigere Variante:
keys per DosInAnIcon per reg Befehl in eine Datei exportieren und von da einlesen.
Das kann man im swaudit script sich anschauen.
gruss
d.oertel
Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.
Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.
uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de
Re: Alle Softwareversionen anhand Produktkennung deinstallie
Vielen Dank für die Antwort.
Klar muesste man dann das Script für jede GUID extra anpassen,
jedoch finde ich diese Lösung des: erst alle möglichen Versionen einer software deinstallieren, bevor ich eine neue Version installiere eine doch recht saubere.
Wenn ich mir die bisherigen setup-scripte (vorallem auf der Community-seite) so ansehe wird das ja bisher nicht gemacht, was dann wrsh. zu vielen unbemerkten fehlern(wegen den silent-schaltern bei den setups) führen dürfte?
Die Variante mit dem DosInAnIcon habe ich kurz angefangen, aber dann doch sein lassen, da es mir doch als sehr umständlich erscheint und ich einfach nicht mit batch-syntax zurechtkommen mag.
Dann doch auf die ersehnte Funktion "getRegistryKeyList32(<regkey>)" warten, bis sie in stable ist...
Klar muesste man dann das Script für jede GUID extra anpassen,
jedoch finde ich diese Lösung des: erst alle möglichen Versionen einer software deinstallieren, bevor ich eine neue Version installiere eine doch recht saubere.
Wenn ich mir die bisherigen setup-scripte (vorallem auf der Community-seite) so ansehe wird das ja bisher nicht gemacht, was dann wrsh. zu vielen unbemerkten fehlern(wegen den silent-schaltern bei den setups) führen dürfte?
Die Variante mit dem DosInAnIcon habe ich kurz angefangen, aber dann doch sein lassen, da es mir doch als sehr umständlich erscheint und ich einfach nicht mit batch-syntax zurechtkommen mag.
Dann doch auf die ersehnte Funktion "getRegistryKeyList32(<regkey>)" warten, bis sie in stable ist...
Re: Alle Softwareversionen anhand Produktkennung deinstallie
Das liegt denke ich daran das das Ziel sein sollte Software AUSSCHLIEßLICH über OPSI zu installieren. Das ist natürlich in einer bestehenden Umgebung nicht ganz einfach.pheanex hat geschrieben: Wenn ich mir die bisherigen setup-scripte (vorallem auf der Community-seite) so ansehe wird das ja bisher nicht gemacht, was dann wrsh.
Wir rollen desswegen den Client auch nicht direkt auf alle clients aus sondern fügen nach und nach neue zu OPSI hinzu - bevorzugt wird der PC vorher neuinstalliert. Oder installieren den ClientAgent bei bedarf nachträglich auf dem Rechner.
Bisher gabs dabei keine Probleme wegen alten Versionen

Desswegen finde ich es aktuell auch gut das OPSI keine Handinstallationen in der Liste als Installed markiert. Automatisch geupdated wird nur das was auch per OPSI mal installiert wurde.
Wenn ich jez jede mal irgendwann Installierte Version berücksichtigen müsste würde OPSI mehr Arbeit machen als alle Clients ohne OPSI zu managen.