Adding auto-updating features to a .net application always seems to be far more complex than it should be. Since this is something that many or even most apps will want as a feature, it seems there would be more or better solutions out there.
If you are using WPF, you can use ClickOnce – but this has a number of restrictions to it. Built-in to visual studio.
The Auto-Update Application Block is another option, but is apparently heavy weight and easily become burdensome for many projects.
WyUpdate – open source from WyDay.com – I need to look into this one furtheer. see http://wyday.com/wyupdate/
(this is a stub- more to come)