I've many times wondered why not software releases could be handled like in a linux distro. Just push new versions of packages into the repo and let users upgrade.