Самоудаление собственного исполняемого файла

Пример того, как программа, отработав и завершившись, удаляет свой собственный исполняемый файл. Может пригодиться для создания инсталляторов. 

Платформа: Windows

#INCLUDE "windows.bi"
#INCLUDE "win/shellapi.bi"

Dim As ZString*MAX_PATH szBufProg,szBufSpec
Dim As HMODULE hMod 

GetEnvironmentVariable(_
        "comspec",_
        Strptr(szBufSpec),_
        MAX_PATH _
        ) 
                
hMod = GetModuleHandle(_
        0 _
        )

GetModuleFileName(_
        hMod,_
        szBufProg,_
        MAX_PATH _
        )
ShellExecute(_
        0,_
        "open",_
        szBufSpec,_
        " /c del " & """" & szBufProg & """",_
        "",_
        SW_HIDE _
        )