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
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)