Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
Announcement
Collapse
No announcement yet.
Wie kann ich Exe löschen während sie gestartet ist ?
Das läßt Windows nicht zu, auch das verschieben in den Papierkorp funzt nicht, versuch es doch mal mit dem Registry Zweig Software\microsoft\Windows\currentversion\RunOnce Einträge die man dort vornimmt werden beim start ausgeführt und dann entfernt. Dann kann man ja eine Meldung der Art "Deinstallation erfolgreich, verbleibende Einträge werden beim nächsten Systemstart automatisch entfernt" oder wie auch immer
Versuchs mal mit einer herkömmlichen Batch-datei, *.bat, die Du aus dem Programm herraus anlegts, inder die EXE gelöscht wird. Starten mit WinExec etc. und nach dem Start gleich löschen, dann EXE beenden.
wenn die Anwendung nur unter NT/2000 ausgeführt wird, steht dazu die API-Funktion <b>MoveFileEx</b> zur Verfügung. Wird das Flag MOVEFILE_DELAY_UNTIL_REBOOT angegeben, so darf als Zielverzeichnis <b>nil</b> verwendet werden, so dass Windows diese Datei beim nächsten Booten löscht. Mit diesem Aufruf setzt das Betriebssystem den Registry-Eintrag für das Löschen beim nächsten Start automatisch
Ich weiß nicht woher Du diese Weisheit hast, aber das kann nicht sein, bzw. ich habe es ausprobiert, eine kleine EXE gebastelt und diese mit DeleteFile(PChar(ParamStr(0))) aus sich selbst herraus versucht zu löschen. hat NICHT funktioniert. Wäre auch zu dumm, da dies bedeuten würde das das Filelocking von Windows ÜBERHAUPT NICHT funktioniert. Aber schon zu DOS'en Zeiten ging dies NICHT.
unter Windows 95 war DeleteFile tatsächlich in der Lage, geöffnete Dateien zu löschen, allerdings galt dies <b>nicht</b> für die eigenen ausführbaren Module (DLL/EXE). Microsoft hat dazu in seiner KnowlegdeBase entsprechende Warnungen veröffentlicht. Somit ist der Einwand von Memger zwar rein formal richtig, aber in diesem Kontext falsch
ich habe diesen Hinweis zum ersten Mal im Microsoft Press-Buch "Windows-Programmierung für Experten" von Jeffrey Richter (Ausgabe 1995) gelesen. Und da ich dies für so gravierend gehalten habe, erinnere ich mich sogar noch heute an die Seitenanzahl: Seite 639 ;-
Wenn Du das noch so genau weißt,
mich interessiert WAS für gesperrte Dateien gelöscht werden können.
ALLE gelockten, oder nur readonly geöffnete mit shared locking, oder sogar private gelockte und writable access ?
Comment