Advanced topics—self updating
Imagine that you have just created your ideal, perfect application, wrapped into an easy-to-use self-executing file and made it available for public. People start using it, the count of downloads is getting higher every day, and suddenly you discover a terrible bug causing your software to be barely usable! Your product goes from 'wonderful' to 'pitiful' within moments.
And what if you manage a network with thousands of computers, each of them running your (defective) utility? Will you spend your entire weekend running from one computer to another and replacing the software manually?
Such scenarios have long been the worst nightmare of almost every software developer. The solution? Of course, the possibility of bugs can't be eliminated, but you can take care to minimize the impact of bugs on your users, and to be able to react as fast as possible by facilitating the process of replacing the bad software with a working version with the help of a blessed feature...