>In my launcher I also check the date/time of the launcher EXE. If there is
>a difference, I display a message for the User to run an associated EXE
>which sole purpose is to update the launcher EXE.
>=============================================================
We've seen here in this thread how one exe can call another (or, even better, pass control to it). Your launcher could check this (its own datetime vs datetime of the same exe on server) on exit, and run the launch updater, which should wait in some kind of loop before it can overwrite the launcher. In the meantime, your app starts, just a bit slower. With some fiddling it could really work automatically, you know, like a computer.