Although the automaticupdater can do this, if there is an error in the middle of update (like we remove the network cable, answer no to UAC, or let UAC timeout),
When you pull out a network cable then the AutomaticUpdater will show an error. If you cancel the UAC dialog then your app will relaunch with an error shown in the AutomaticUpdater.
We have wyUpdate.exe found to be dependable, although we would like it to restart our application if possible after the update.
You can always use the Executing files in your update. Just make sure you uncheck "Wait for execution to finish before continuing".