AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Liste der Exe-Pfade aller installierten Programme
Thema durchsuchen
Ansicht
Themen-Optionen

Liste der Exe-Pfade aller installierten Programme

Ein Thema von PeterPanino · begonnen am 3. Jan 2013 · letzter Beitrag vom 6. Jan 2013
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Liste der Exe-Pfade aller installierten Programme

  Alt 4. Jan 2013, 10:17

Nein. Abgesehen davon, dass dieser Code voller Fehler ist, liefert er nur die Uninstall-Displaynamen, was ich ja in meiner obigen Definition ausgeschlossen habe. Hier ist der soweit entwanzte Code, der das nicht brauchbare Ergebnis liefert:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
const
  REGKEYAPPS = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\';
var
  reg: TRegistry;
  List1: TStringList;
  List2: TStringList;
  j, n: Integer;
begin
  reg := TRegistry.Create;
  List1 := TStringList.Create;
  List2 := TStringList.Create;

  { Load all the subkeys }
  with reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    Access := KEY_READ; // WICHTIG WEGEN UAC !
    OpenKey(REGKEYAPPS, false);
    GetKeyNames(List1);
  end;
  { Load all the Value Names }
  for j := 0 to List1.Count - 1 do
  begin
    reg.OpenKey(REGKEYAPPS + '' + List1.Strings[j], false);
    reg.GetValueNames(List2);

    { We will show only if there is 'DisplayName' }
    n := List2.IndexOf('DisplayName');
    if (n <> -1) and (List2.IndexOf('UninstallString') <> -1) then
    begin
      memoPrograms.Lines.Add((reg.ReadString(List2.Strings[n])));
    end;
  end;
  List1.Free;
  List2.Free;
  reg.CloseKey;
  reg.Destroy;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Liste der Exe-Pfade aller installierten Programme

  Alt 4. Jan 2013, 10:32
@PeterPanino

Es gibt unterschiedliche Installer, die auf unterschiedliche Art und Weise sich merken (oder eben auch nicht) welche Programme (exe Files) wohin kopiert wurden.

Ein Installer muss sich nicht zwangsläufig merken, was er kopiert hat. Es gibt Installer, die das machen, aber nicht jeder.

Somit ist es unmöglich so eine Liste zu erstellen, wenn man lapidar "alle installierten exe-Dateien" fordert.

Bitte konkretisiere deine Frage dahingehend.

Dann definiere doch bitte, welche Installer du in deiner Suche berücksichtigen willst.
Dabei wirst du deiner Lösung von selber näher kommen.

BTW: Das meinte Popov mit "Ansonsten die Frage genauer stellen"
Siehe Beiträge 8 und 9.
Was du nicht willst ist mir klar, auch was du eigentlich haben möchtest, allerdings bezweifele ich, das es eine universelle Möglichkeit für jeden Installer gibt.

Ich schreibe dir gerne einen Installer, wo das nicht geht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz