Einzelnen Beitrag anzeigen

Synonym
(Gast)

n/a Beiträge
 
#2

Re: Auflisten und Ausführen der software-Deinstaller

  Alt 28. Jan 2004, 22:08
das auflisten hab ich jetzt so hinbekommen:

Code:
procedure TForm1.Button1Click(Sender: TObject);
const
  UNINST_PATH = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';
var
  Reg: TRegistry;
  SubKeys: TStringList;

  i: integer;
  sDisplayName, sUninstallString: string;
begin

  Reg := TRegistry.Create;
  with Reg do
    try
      with Listbox1.Items do
        try
          BeginUpdate;
          Clear;
          RootKey := HKEY_LOCAL_MACHINE;
          if OpenKeyReadOnly(UNINST_PATH) then
          begin
            SubKeys := TStringList.Create;
            try
              GetKeyNames(SubKeys);
              CloseKey;
              for i := 0 to subKeys.Count - 1 do
                if OpenKeyReadOnly(Format('%s\%s', [UNINST_PATH, SubKeys[i]])) then
                  try
                    sDisplayName    := ReadString('DisplayName');
                    sUninstallString := ReadString('UninstallString');
                    if sDisplayName <> '' then
                    begin

Listbox1.items.Add(sDisplayName);
                      Listbox1.items.Add(sUninstallString);
                    end;
                  finally
                    CloseKey;
                  end;
            finally
              SubKeys.Free;
            end;
          end;
        finally

          EndUpdate;
        end;
    finally
      CloseKey;
      Free;
    end;
end;
leider zeigt es mir nur die namen und uninstaller.exe an...ich muss das noch ein wenig ferfeinern...aber vielleicht weiß jetzt jemand weiter. ich brauche auch die hauptanwendung der software..sowie den genauen pfad der uninstaller. also bei antivir 6.0 z.B. c:\programme\antivir\antivir.exe und c:\programme\antivir\antiviruninstall.exe (Beispiel)
  Mit Zitat antworten Zitat