This is how I do it:

1) Download text-file from sever which contains a number (e.g. 1.0.0.1)
2) Compare the number with assembly-number
3) If number of server-file higher then Close mainApp and start Update.exe (the update.exe is in the app.path)
4) Update.exe >> Download new .exe and replace the old one.
5) Start the new .exe (mainApp) and close updater.