Hola lgarcia.
En la parte del código que mostras, la línea de
WinExec nunca se ejecuta ya que llamas al método
Close en la línea previa.
De todos modos pienso que es el programa actualizador quién debería evaluar la versión y de ser necesario, realizar las tareas de actualización.
Saludos