eli5 – Why do most softwares require a system reboot after install?


eli5 – Why do most softwares require a system reboot after install?

In: 14

An application might need to be restarted after an update because it still has the old version in memory (RAM). The same is true for the operating system (Windows, Linux, macOS), but the majority applications and pieces of what is normally thought of as an operating system do not need a system reboot after instal

It often happens in windows, because installers write keys into the windows registry. These keys are read at boot time. Other systems like Linux have a different way of writing configuration. As they use simple text files, it is usually not necessary to reboot.

Most don’t. DLL-hell is past us. Those that do are probably installing third-party copy-protection elements that run as services and drivers.

Older windows programms often used dll and regestry keys which were read at boot time, thus required system restart

Newer win apps often update core drivers to inject various software protection (eg anti piracy software). To make them work system need to be restarted as those sings cannot be modified on hot.

Linux software very rarely requires to restart. Mainly if system core was heavely modified ( minor system core modification generally does not require restart).

Former installer developer here!

TL;DR to prevent data loss

This doesn’t cover all cases but for the most part: Part of the installer puts files in the right folders, another part sets operating system settings, another part sets application settings and then maybe a final part does some custom actions to maybe set up data or user profiles to get ready for use. Sometimes there are updates to shared files or shared settings that need to be changed, that may be in use while you run the install- as a developer you can chose to force the user or OS to temporarily stop the app or system feature while you do the update which is a little dangerous because the installer can’t always tell the state of the program or feature perfectly and could cause data loss. As an alternative- we defer some actions until after reboot and before those apps or features load. This way we can more safely make the changes with lower risk of screwing up you computer. There are other strategies devs can use to get around reboots but installers are blunt tools and it’s very difficult to predict what will be going on on every user’s computer when they click install.