1. После компиляции создается программа Project1.exe
2. После запуска Project1.exe создает Project1.bat с таким содержанием
:1
Erase "C:\Erase_self_EXE\Project1.exe" // Удалить Project1.exe
If exist "C:\Erase_self_EXE\Project1.exe" Goto 1 // Проверять удаление Project1.exe и повторять пока не удалится
Erase "C:\Erase_self_EXE\Project1.bat" // удалить bat-файл
WinExec(PChar(ChangeFileExt(Paramstr(0),'.bat')),SW_HIDE);
SW_HIDE - скрывает окно и убирает из панели задачь, например нужно
при использовании иконки программы в системном трее при сворачивании
окна убирать его из панели задач