La instalación de un software generalmente permite que el instalador escriba algún tipo de archivos en el sistema. Por ejemplo, la creación de nuevas entradas de registro en el sistema, algunas modificaciones del kernel (en algunos casos), archivos DLL (Dynamic Link Library) y cualquier descarga de software si es necesario. Estas modificaciones deben reflejarse en el sistema. Si la aplicación que estamos tratando de instalar tiene alguna dependencia de las aplicaciones o tareas de fondo en ejecución, entonces éstas deben ser detenidas o terminadas para reflejar los cambios.
Por ejemplo, una instalación de software puede requerir que un archivo DLL sea reemplazado. DLL es un tipo de biblioteca compartida donde muchas aplicaciones diferentes las utilizan para sus tareas. La DLL puede ser llamada por otro código que se esté ejecutando. Por lo tanto, la actualización no se puede hacer ya que el archivo DLL puede ser utilizado por el sistema operativo o alguna otra aplicación. Hacer cualquier cambio puede romper las aplicaciones en ejecución. Por lo tanto, se requiere un reinicio después del proceso de instalación donde el sistema es libre de cambiar los archivos pertinentes. Los archivos no pueden ser reemplazados cuando están en uso.
Así, un reinicio se utiliza para asegurar que la aplicación se instala correctamente y las dependencias se resuelven y está funcionando correctamente. En algunos casos reiniciar un sistema también resuelve algún tipo de error que se produce cuando el SO se queda sin RAM o algo así como la Pantalla Azul de la Muerte. El reinicio podría resolver estos ya que limpia la RAM y da un nuevo comienzo al sistema.