![]() |
Wie kann sich ein Programm selbst ersetzen bzw. löschen?
Hallo,
gibt es eine Möglichkeit, dass eine laufendes Programm seine exe datei löschen oder ersetzen kann? (für Update bzw. Deinstall Funktion) Gruß (Ps: suche ergab ersmal nix) |
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
Hai Spezi1980,
ich sage mal kurz und bündig : NEIN. Da Windows die Datei offen hast kannst Du sie nicht ändern/löschen. |
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
|
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
Zitat:
Einfach so: Erstelle eine kleine Exe-Datei (Consolen-Programm), welche zwei Paramter nimmt. Der erste ist der Name der Datei (1), welche zur Exe werden soll und der zweite der Name der zu ersetzenden Exe (2). Dieses Programm kommt immer als Resource in Deine EXE. Wenn Du das Update heruntergeladen hast, speicherst Du es unter einem anderen Namen (1). Dann entpackt die alte Version Deiner EXE die Resource und speichert diese. Dann ruft Deine alte EXE dieses Programm mit den entsprechenden Parametern auf und beendet sich selbst. Jetzt löscht das kleine Update-Programm die alte EXE, benennt die Download-File um und startet diese. ...:cat:... |
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
Zitat:
Problem gelöst aber nicht gemäß der gestellten Aufgabe. Note 6 setzen :mrgreen: |
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
Sharky hat recht !
Trotzdem gibt es Mechanismen, die soetwas nachbilden. Vom Prinzip her sei das hier mal zusammengesetzt. Oldtimer: ist Dein aktuelles Programm Update : ist Dein neuse Programm Konverter : Liegt Deinem Updateprogramm bei 1. Oldtimer lädt Update mit einer anderen Filendungg: Update.tmp 2. Wenn Olditmer fertig ist startet es Konverter und beendet sich. 3. Konverter löscht Oldtimer und benennt Update in Oldtimer (Endung) um. 4. Konverter startet Oltdimer mit Parameterfunktion: Oldtimer löscht Konverter nach Zeit. 5. Konverter beendet sich und wird dann von Oldtimer gelöscht. Zu kompliziert?!? Ok, da gibt es noch eine Alternative, wo ich aber nicht weiss wie diese funktioniert: Komponente: exemod.zip Grüße // Martin Ok, da gab es doch gleich mehrere Überschneidungen: Fazit entweder arbeiten oder in der DP lesen, aber man findet ja immer was interessantes.... |
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
ne einfach batchdatei die sich selber löschen kann und der drops ist gelutscht, steht sogar so im delphi kochbuch *hüstel :roll:
|
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
Ersteinmal danke für die schnellen und zahlreichen Antworten.
Die Idee mit der Batchdatei gefällt mir sehr gut.
Code:
Problem ist nur wie starte ich diese Batchdatei vom Programm aus? (Meine "altes" Programm läuft dann zum Zeitpunkt des ausführens ja auch noch.)
@echo off
echo selbst löschen REM macheirgendwas del %1 ren %2 %1 REM macheirgendwas echo jetzt wird gelöscht abbrechen mit [Strg + C] Pause REM löschen del %0 REM ende |
Re: Wie kann sich ein Programm selbst ersetzen bzw. löschen?
Hi!
Geht das nicht mit Shellexecute? Ciao fkerber |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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