When you initially launch Minecraft you open the "launcher", which will check if your client is up to date. If it's not it proceeds to download the latest files & then runs the game.
How does this happen? Is the launcher a separate application, which can execute the main jar file?