Autor Beitrag
ShadowThief
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Mo 22.09.03 17:12 
hallo,

mein programm benötig für seine funktionen eine andere software. nun möchte ich beim programmstart überprüfen, ob diese software auch installiert ist.

als erstes kam mir der gedanke, zu überprüfen, ob die .exe-datei der anderen software vorhanden ist, dies ist jedoch eine schlechte idee, weil die software natürlich nicht nur aus der exe-datei besteht.

als nächstes ist mir eingefallen, dass man vielleicht nach den einträgen in start -> einstellungen -> systemsteuerung -> software nachsehen könnte, um herauszufinden, ob die software installiert wurde. dies halte ich für sinnvoll, habe aber keine ahnung, wie man das herausfinden kann.

bin entweder für eine konkrete antwort, oder auch für weitere lösungsanregungen sehr dankbar.

shadow.
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mo 22.09.03 17:15 
hallo,

warum versuchst du nicht, die registry nach dem gesuchten programm zu durchsuchen.. Bzw zu schauen, ob der eintrag vorhanden ist, und wenn nicht, dann ist das programm nicht korrekt installiert.

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
ShadowThief Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Mo 22.09.03 17:27 
und welcher eintrag ist das?
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mo 22.09.03 17:30 
Das hängt immer vom programm ab. Woher soll ich denn auch wissen, welches programm du verwenden willst... :roll:

Schau dir aber mal HKEY_LOCAL_MACHINE\SOFTWARE an.

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
ShadowThief Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Mo 22.09.03 17:35 
ich hatte mit der registry bis jetzt noch nie etwas zu tun.
naja, ich werd mich mal durchwühlen, als allererstes muss
ich wohl rausfinden, wie man aus der registry was lesen kann,
is bestimmt ne api-funktion. naja ich werd mal googlen oder
im forum suchen.

vielen dank.

shadow.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 22.09.03 17:49 
Zuerst mal solltest du herausfinden, wo sich die gesuchten Informationen in der Registry befinden können. Also, Registryeditor öffnen und suchen ...

1. Wie Ken schrieb tragen sich viele Programme unter HKEY_LOCAL_MACHINE\Software ein, wobei zu 99% der Firmen- und dann der Anwendungsname folgt. Kannst du bspw. mit Borland und Delphi nachvollziehen. Wobei hier allerdings in manchen Fällen aber versionsabhängige Schlüssel geschrieben werden.
Und es gibt Programme, die sich bspw. nur in HKEY_CURRENT_USER eintragen. Proton ist so ein Fall. Den Schlüssel "meybohm\proton" habe ich in HKLM nicht gefunden. Der existiert IMHO nur unter HKCU.

2. Eine weitere Möglichkeit wäre HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths, wo sich auch viele Programme eintragen. Das ist allerdings kein Muss!

3. Wie du selbst geschrieben hast: die Sache mit der Systemsteuerung/Software. Die findest du unter HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall. Als Anhaltspunkt sollte dir hier der Wert "DisplayName" dienen. Hierbei wäre aber zu beachten, dass unterschiedliche Programmversionen evtl. auch unterschiedliche Namen (sowohl in der Anzeige als auch im Schlüssel in der Registry) haben können. Es wäre also durchaus denkbar, dass du nach "Programm XY v1.0" suchst, es aber nicht findest, weil der Anwender vielleicht die Version 1.1 o.ä. installiert hat.

Wenn du diese Möglichkeiten ausgelotet und dein gesuchtes Programm hoffentlich gefunden hast, dann kannst du dich mit den Suche in: Delphi-Forum, Delphi-Library REGISTRY-Funktionen vertraut machen.
ShadowThief Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Mo 22.09.03 17:52 
vielen dank, das hilft mir weiter.

shadow.