Question and Answer Database FAQ2634D.txt Trying to delete a running .exe? Category :Windows API Platform :All Product :All 32 bit Question: How can I delete my executable while it is running? Answer: Under Win32, unless you are running from a removable drive, you cannot delete a running executable. You can have Windows delete the executable the next time Windows is ran by adding an entry to the RunOnce key in the Windows registry under: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce You can name the key anything you like, and specify a command line to another executable or to a dos command passed to command.com. Example: uses Registry; procedure TForm1.Button1Click(Sender: TObject); var reg: TRegistry; begin reg := TRegistry.Create; with reg do begin RootKey := HKEY_LOCAL_MACHINE; LazyWrite := false; OpenKey('Software\Microsoft\Windows\CurrentVersion\RunOnce', false); WriteString('Delete Me!','command.com /c del FILENAME.EXT'); CloseKey; free; end; end; 7/16/98 4:31:28 PM
Last Modified: 01-SEP-99