The four essential laws of software updates
philltopia.com
philltopia.com
Both Microsoft Update and Apple Software Update could be modified, very simply, to read updates for additional software from signed RSS feeds, and queue them into a background downloading service (on Windows it's called BITS, I'm sure OSX has an equivalent) when they see them. There would need be no central repository; each software package installed would simply install a subscription, and a public key for checking against it. The updates would all be installed in the operating system's "update mode" that starts after shutdown, negating any worry of updating a running program. It wouldn't even need to trouble the download centers themselves—the RSS subscriptions could be torrent containers, and every PC could be configured to serve as a peer.
Now, if it were me, I'd move the Mobile App Store from iTunes to Software Update on OSX and make it into a Multi-platform App Store, and create a similar store for Windows in their own update service... but that's perhaps, as they say on the Internets, "too much win."
It's only so simple when you have a single binary file with no dependencies running only on the developer's machine.
Beyond that, it's quite a complex problem. I could give you a list of about a thousand major problems that need to be solved to make a "one size fits all" updater. Plus, it's not in the self interest of either Microsoft or Apple to allow update installation from unverified sources.
... similar store for Windows in their own update service ...
The store has been tried before (once by MS, many many times by 3rd parties). Each time it was a failure. Largely due to the uncoupled nature of the "Windows ecosystem".
I think the update-at-shutdown isn't such a great idea, most programs don't need the computer to be restarted after they update.
The problem isn't so much that apps are rolling their own updaters, it's the fact that these updaters are often extremely heavy-weight but aren't justifiably so.
But nonetheless, for now that's the way things are. Might as well do a good job in the meantime.
I clicked on the link hoping to find technical information on automatic software updating, like:
Cheers!
You make a few good points in your post. We get a lot of customers trying to solve the very problems you describe. Auto updating in particular is an exceedingly hard problem to solve.
Besides all of the immediately obvious technical considerations (Self updating, inter-process communication, update rollback on failure) there are many problems that developers don't think about until it's too late (admin rights, Vista/7 UAC).
You might be interested in the series of posts I've been writing on creating an updater from scratch: http://wyday.com/blog/
Did you mean "few" or "a few"?
Law Six: Stay alive - Hopefully not your program: "Software updated. Go have a coffee while I tear down all your work and restart myself." - Dunce: Firefox, Windows
Law Seven: Get with the times - Hopefully not your program: "You can't install that, it's brand new! Play it safe and use this two year old beta with many known vulnerabilities." - Dunce: Ubuntu
(I gave up on the formatting, sorry)
Throwing a finished executable over the wall to some poor sod at -1 week away from ship date may deliver a poor experience.