Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm in Systemsteuerung/Software eintragen (https://www.delphipraxis.net/47260-programm-systemsteuerung-software-eintragen.html)

Gentleman 8. Jun 2005 14:20


Programm in Systemsteuerung/Software eintragen
 
Hi!

Ich habe mich etwas mit der Registry und dem Schreiben bzw. Lesen darin beschäftigt. Das habe ich soweit auch alles verstanden.
Jetzt stellt sich mir allerdings die Frage, wie ich meine Programme "registrieren" kann, sodass sie unter Systemsteuerung\Software angezeigt weden und man sie auch dort deinstallieren kann. Eine Deinstallationsprogramm ist natürlch vorhanden...

Könnt ihr mir da villeicht etwas weiterhelfen?

thx im Voraus.

s.h.a.r.k 8. Jun 2005 14:25

Re: Programm in Systemsteuerung/Software eintragen
 
Hallo!

Vielleicht hilft dir das ein bisschen weiter: Link

Denn wenn du brauchst ja nur den Pfad zur entsprechenden Registry oder?! Und dann musst du ja nur deinen Eintrag reinschreiben...

mfg shark

Gentleman 8. Jun 2005 14:36

Re: Programm in Systemsteuerung/Software eintragen
 
Zitat:

Zitat von s.h.a.r.k
Vielleicht hilft dir das ein bisschen weiter: Link

also wenn ich ehrlich bin, verstehe ich den Code nicht so ganz ... :oops:

Zitat:

Zitat von s.h.a.r.k
Und dann musst du ja nur deinen Eintrag reinschreiben...

Genau das ist mein Problem. Ich weiß nicht welchen Eintrag ich in welchen Ordner/Registrierungsschlüssel schreiben soll...

Könntest du mir da vllt. noch einen kleinen Tipp geben?

alcaeus 8. Jun 2005 14:43

Re: Programm in Systemsteuerung/Software eintragen
 
Eigentlich sollten sich nur Programme mit Installer da reinschreiben. Warum? Weil in der Liste auch die Option zum Deinstallieren der Software ist. Wenn du nicht einen Uninstaller mitlieferst, der damit klarkommt, wird es immer Probleme geben. Nur so als Hinweis ;)

Greetz
alcaeus

jfheins 8. Jun 2005 14:45

Re: Programm in Systemsteuerung/Software eintragen
 
Zitat:

Zitat von Gentleman
Eine Deinstallationsprogramm ist natürlch vorhanden...

;)

Immer diese Mods ... :roll: :mrgreen:

s.h.a.r.k 8. Jun 2005 14:47

Re: Programm in Systemsteuerung/Software eintragen
 
Hab leider noch nie mit der Registry gearbeitet: Aber ich hab da noch n paar brauchbare Links gefunden:
Link
Link

So wie ich das lese musst du dir halt nur mal das Verzeichnis HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall in der regedit anschauen und da einen Eintrag nachbauen und den halt dann in dieses Verzeichnis schreiben! Dann wird es wohl unter Systemsteuerung/Software erscheinen!

mfg shark

malo 8. Jun 2005 14:47

Re: Programm in Systemsteuerung/Software eintragen
 
Zitat:

Zitat von Gentleman
Zitat:

Zitat von s.h.a.r.k
Und dann musst du ja nur deinen Eintrag reinschreiben...

Genau das ist mein Problem. Ich weiß nicht welchen Eintrag ich in welchen Ordner/Registrierungsschlüssel schreiben soll...

Könntest du mir da vllt. noch einen kleinen Tipp geben?

Öffne doch einfach mal den Key, der in dem Code steht (oben in der Konstante). Höchstwahrscheinlich sind dort schon einige Einträge gemacht. Schau sie dir einfach mal als Vorlage ein und schreib entsprechende Details über dein Programm in die Registry ;)

Zacherl 8. Jun 2005 14:49

Re: Programm in Systemsteuerung/Software eintragen
 
Erstelle den Registry Schlüssel

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Uninstall\,
dann neuer Schlüssel mit beliebigem Namen.
In diesen legst du die DWORD Werte:
DisplayName: Name des Programms
DisplayIcon: Pfad zur Icondatei, hinter Komma der Iconindex
UninstallString: Pfad zum Deinstaller
Publisher: z.B. Dein Name

an.

Florian

MathiasSimmack 8. Jun 2005 14:50

Re: Programm in Systemsteuerung/Software eintragen
 
Schreibt ihr neuerdings alle eure eigenen Setups? :gruebel:

Luckie 8. Jun 2005 14:56

Re: Programm in Systemsteuerung/Software eintragen
 
Zitat:

Zitat von Florian Bernd
Erstelle den Registry Schlüssel

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Uninstall\,
dann neuer Schlüssel mit beliebigem Namen.
In diesen legst du die DWORD Werte:
DisplayName: Name des Programms
DisplayIcon: Pfad zur Icondatei, hinter Komma der Iconindex
UninstallString: Pfad zum Deinstaller
Publisher: z.B. Dein Name

an.

Florian

Wie kann ein offensichtliucher String (DisplayName) als DWORD da rein geschrieben werden? :roll:

Zacherl 8. Jun 2005 14:58

Re: Programm in Systemsteuerung/Software eintragen
 
Sorry,
ich meinte natürlich alles als Zeichenfolge :wall: :wall: :wall:

Florian

Gentleman 8. Jun 2005 15:00

Re: Programm in Systemsteuerung/Software eintragen
 
Vielen Dank für die schnelle Hilfe! :thumb:

Ich werde das ganze mal durchtesten...

Tommy1988 21. Nov 2007 02:51

Re: Programm in Systemsteuerung/Software eintragen
 
Hey.. kann mir wer von euch sagen, wie ich soeinen Deinstaller bewerkstellige?

Habe mal etwas von einer BAT-Datei gehört :|

DeddyH 21. Nov 2007 07:12

Re: Programm in Systemsteuerung/Software eintragen
 
Wieso denn ein Batchfile? Ich habe vor Jahren auch mal ein Setup schreiben müssen und habe das im Groben so realisiert: es gibt eine Setup.exe und eine Uninstall.exe. Die Setup.exe protokolliert alle Änderungen, die sie vornimmt, in einer Datei und trägt die Uninstall.exe als UninstallString in der Registry ein. Wird diese aufgerufen, liest sie die Protokolldatei aus und macht diese Änderungen rückgängig (Löschen der angelegten Dateien, Registryschlüssel etc.). Das hat den Vorteil, dass das Risiko, zuviel zu löschen, minimiert wird.

Progman 21. Nov 2007 07:19

Re: Programm in Systemsteuerung/Software eintragen
 
Dieser Inhalt muss benutzt werden, damit eine .bat Datei entsteht, die die Exe Datei löscht, sowie sich danach selbst:

Sourcecode:
Delphi-Quellcode:
procedure KillSelf(MainForm: TForm);
begin
  with TStringList.Create do try
    Add(':Label1');
    Add('del "' + Paramstr(0) + '"');
    Add('if Exist "' + Paramstr(0) + '" goto Label1');
    Add('del "' + ExtractFilePath(Paramstr(0)) + 'name.bat"');
    SavetoFile(ExtractFilePath(Paramstr(0)) + 'name.bat');
  finally Free end;
  //Ausführen
  ShellExecute(MainForm.Handle, 'open', PChar(ExtractFilePath(Paramstr(0)) + 
    'name.bat'), nil, nil, SW_HIDE);
  //Beenden
  MainForm.Close;
end;

//Aufgerufen werden kann die Funktion wie folgt:

procedure TForm1.Button1Click(Sender: TObject);
begin
  KillSelf (Self);
end;
Und die Exe (uninstall.exe) muss vorher natürlich alles andere löschen (Dateien, Reg-Einträge etc.)

@DeddyH:
Es ist ja unschön, wenn die uninstall.exe zurückbleibt, dafür die Lösung mit der bat-Datei ;)

DeddyH 21. Nov 2007 07:24

Re: Programm in Systemsteuerung/Software eintragen
 
Ach, das war mit der Batchdatei gemeint :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:56 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