Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Software identifizieren (https://www.delphipraxis.net/85635-software-identifizieren.html)

Codewalker 2. Feb 2007 14:36


Software identifizieren
 
Moin zusammen.

Wie kann ich ermitteln, ob bestimmte Programme auf dem System installiert sind? Gibt es eine Liste von gängigen Programmen in Netz? (soll heißen, hat sich da jemand schon mal die Arbeit gemacht).
Ich würde ganz gern erkennen können, ob und wenn ja welche Version installiert ist (z.B. Office (mit welchen Komponenten?), Firefox, Acrobat (Reader, Professional, ...) usw.)

Man kann ja vieles aus der Registry holen (HKCU\Software\....) aber ist das sinnvoll oder gibt es da einen besseren Weg?

Danke für jede Hilfe

Codewalker

angos 2. Feb 2007 15:01

Re: Software identifizieren
 
Hi,

was hast du damit vor. Willst du das weiter verarbeiten oder nur einmal diese Information haben?
Bitte erklär mal ein bisschen genauer

Codewalker 2. Feb 2007 15:03

Re: Software identifizieren
 
Es soll ein kleines Tool für meinen Brötchengeber werden, um schnell eine Liste der wichtigsten Programme zu erstellen, die auf einem Rechner installiert ist. Das ganze soll für unseren Helpdesk per Netzwerk gehen mit einem kleinen Tool, das auf jedem Rechner läuft und diese Infos bereitstellt.

pilic 2. Feb 2007 15:09

Re: Software identifizieren
 
Hier gibt's ein Beispiel für Word. Natürlich geht der Spaß auch mit Excel, Access... Daynn würde es zum Beispiel "Excel.application" heißen.

Codewalker 2. Feb 2007 15:12

Re: Software identifizieren
 
Das hab ich auch schon gefunden, aber so kann ich die verschiedenen Word-Versionen (97,2000,XP,2003,2007) nicht unterscheiden. Deswegen hab ich nach Alternativen gesucht.
Gleiches gilt für die CodeLib-Beiträge zum Acrobat Reader. Dabei wird über eine CLSID ausgewertet. Dann weiß ich aber auch nicht, ob es jetzt Reader oder Professional ist und welche Version(en) installiert ist

sirius 2. Feb 2007 15:21

Re: Software identifizieren
 
Was heißt für dich wichtige Programme?

Wenn ich z.B. ein monolithisches Programm schreibe, was sich jemand auf seinen Rechner kopiert, findest du es mit keiner einzigen Methode, als auf der Platte nach der Exe zu suchen.

Für die meisten Programme bietet sich die Registry an:
Wenn man unter systemsteuerung->Software schaut wird (glaub ich das aufgelistet) was unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall\...\DisplayName liegt

Du kannst natürlich auch über die CLSIDs/ProgrammIDs gehen, wenn du sie kennst. Dazu musst du aber eine Liste der Programme aufstellen.

Garfield 2. Feb 2007 18:10

Re: Software identifizieren
 
http://www.swissdelphicenter.ch/de/showcode.php?id=480

Dort wird die Software anhand der Uninstall-Einträge in der Registry aufgelistet.

Alter Mann 2. Feb 2007 18:50

Re: Software identifizieren
 
Hallo,

als kleiner Anhaltspunkt aus der Scriptcenter.chm:
Zitat:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\software.tsv", True)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("Select * from Win32_Product")
objTextFile.WriteLine "Caption" & vbtab & _
"Description" & vbtab & "Identifying Number" & vbtab & _
"Install Date" & vbtab & "Install Location" & vbtab & _
"Install State" & vbtab & "Name" & vbtab & _
"Package Cache" & vbtab & "SKU Number" & vbtab & "Vendor" & vbtab _
& "Version"
For Each objSoftware in colSoftware
objTextFile.WriteLine objSoftware.Caption & vbtab & _
objSoftware.Description & vbtab & _
objSoftware.IdentifyingNumber & vbtab & _
objSoftware.InstallDate2 & vbtab & _
objSoftware.InstallLocation & vbtab & _
objSoftware.InstallState & vbtab & _
objSoftware.Name & vbtab & _
objSoftware.PackageCache & vbtab & _
objSoftware.SKUNumber & vbtab & _
objSoftware.Vendor & vbtab & _
objSoftware.Version
Next
objTextFile.Close
Keine Panik bekommen dauert etwas.....


Gruss
Alter Mann


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz