Delphi-PRAXiS
Seite 2 von 2     12   

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)

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 23:25 Uhr.
Seite 2 von 2     12   

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