Erkennen ob Software bereits installiert ist

Antworten
Filip87
Beiträge: 1
Registriert: 03 Sep 2013, 13:48

Erkennen ob Software bereits installiert ist

Beitrag von Filip87 »

Hallo zusammen,

leider hab ich bei der Suche bis jetzt noch nichts passendes zu dem Thema gefunden. Es geht mir um folgendes:
Ich habe ein OPSI-Paket mit einer Software drin. Soweit noch unspektakulär, aber jetzt kommt der interessante Teil. Die Software wurde auf einigen Clients bereits manuell installiert, das Setup doppelt ausführen erzeugt ziemlich paradoxe Phänomene, daher möchte ich das Paket nicht einfach blind auf alle Clients jagen. Die Frage ist nun: Kann ich meine Setup.ins so viel Intelligenz verpassen, dass diese erkennt, dass die Software bereits installiert ist, das Setup nicht erneut ausführt und in meinem Configed der Stand nachher trotzdem auf installed steht?

Danke schonmal für eure Ideen!
thomas.besser
Beiträge: 472
Registriert: 09 Sep 2009, 09:40

Re: Erkennen ob Software bereits installiert ist

Beitrag von thomas.besser »

Die meiste Software trägt sich in die Registry unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
ein.

In deinen Skripten danach prüfen. Falls der Softwarekey dort schon vorhanden ist, die Installation einfach überspringen.

Das OPSI-Paket läuft danach bis zum Ende ohne Fehler durch, ist ergo also 'installed' gekennzeichnet.

Gruß
Thomas
holgerv
Beiträge: 288
Registriert: 20 Aug 2012, 09:35

Re: Erkennen ob Software bereits installiert ist

Beitrag von holgerv »

thomas.besser hat geschrieben:Die meiste Software trägt sich in die Registry unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
ein.
Auf 64-Bit-Systemen solltest Du auch unter HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall nachsehen, wenn es um 32-Bit-Software geht.
thomas.besser
Beiträge: 472
Registriert: 09 Sep 2009, 09:40

Re: Erkennen ob Software bereits installiert ist

Beitrag von thomas.besser »

das ist IMO nicht notwendig, wenn man je nach dem was die Software ist
"GetRegistryStringValue32" bzw. "GetRegistryStringValue64" nimmt.

Gruß
Thomas
Antworten