Yes, from searching I can see this has been asked time and time again.
Here's a backstory. I'm an individual hobbyist developer with zero budget. A program I've been developing has been in need of constant bugfixes, and me and users are getting tired of having to manually update.
Me, because my current solution of
Manually FTP to my website
Update a file "newest.txt" with the newest version
Update index.html with a link to the newest version
Hope for people to see the "there's an update" message
Have them manually download the update
sucks, and whenever I screw up an update, I get pitchforks.
Users, because, well, "Are you ever going to implement auto-update?" "Will there ever be an auto-update feature?"
Over the past I have looked into:
WinSparkle - No in-app updates, and the DLL is 500 KB. My current solution is a few KBs in the executable and has no in-app updates.
http://windowsclient.net/articles/appupdater.aspx - I can't comprehend the documentation
http://www.codeproject.com/KB/vb/Auto_Update_Revisited.aspx - Doesn't appear to support anything other than working with files that aren't in use
wyUpdate - wyBuild isn't free, and the file specification is simply too complex. Maybe if I was under a company paying me I could spend the time, but then I may as well pay for wyBuild.
http://www.kineticjump.com/update/default.aspx - Ditto the last sentence.
ClickOnce - Workarounds for implementing launching on startup are massive, horrendous and not worth it for such a simple feature. Publishing is a pain; manual FTP and replace of all files is required for servers without FrontPage Extensions.
I'm pretty much ready to throw in the towel right now and strangle myself. And then I think about Sparkle...
EDIT: I came across SparkleDotNET just then. Looks good, though the DLL is 200 KB. Don't know if that's really that big of an issue, though.