How are software updates installed?


How are software updates installed?

In: Technology

Depends. Do you mean Operating System updates, application updates or something else?

At the very basic level, the software relies on various files on the system to run the way the developers want. When an update happens, these files are changed so that the software works differently (usually better).

The process of installing updates typically requires core services to be shut down first, files to be replaced, services (or hardware) to be restarted and sometimes a first-run procedure to process the new files and finish the update.

There many different ways to install software updates, but in the spirit of ELI5 I’ll give you a basic example:

1. You install a software app. It has a loader program and a number of components which support or perform all the functions of the app.
2. Whenever you start the app (or periodically in the background), it checks to see if it’s a good time to run its updater component. This might be based on time of day, what other apps are running, and/or how long it’s been since the last time it ran.
3. When the updater runs, it connects to the app’s update server over the Internet and retrieves a small file. The file is basically a manifest of the latest version of the app, including a list of all its components and their version numbers.
4. The updater compares that file with its own manifest. If all the version numbers are identical, it reports that your app is up to date. If not, it downloads all the components that need to be updated.
5. If a component being updated isn’t currently running, it can be replaced immediately. Others will need to be stopped before being replaced. If that cannot be done safely, the application or even the computer itself must be restarted to complete the update.

On a very basic ELI5 level, a software is not just a single file, an update can replace some of the old files.

Typically, the software will periodically send a web request to an online server, which will send back a list of versions. If the version you have installed is different from the version the server sends back, the software will detect itself as outdated. What it does from there depends on the software, it might redirect you to reinstall the program, it might offer an automatic update system, etc… Generally the actual update installation process is simply deleting the old files and replacing them with the updated versions. This could mean a complete reinstallation, or just changing around one or two files that need to be updated.