¿Qué sucede internamente durante el proceso de instalación de un software? ¿Hay alguna diferencia entre este proceso para software de diferentes tipos y tamaños?

La respuesta depende del sistema operativo. Contestaré para Windows, pero mi respuesta puede estar algunos años desactualizada y con algunos detalles.

1) El programa (el archivo que se ejecuta) debe copiarse en la computadora en la que está instalado. Normalmente, el instalador crea un nuevo directorio en C: \ Archivos de programa (o C: \ Archivos de programa (x86)), por ejemplo, C: \ Archivos de programa \ NewProg. Luego copia el programa allí. También copiará cualquier otro archivo que necesite el programa ejecutable.

2) Algunos programas necesitan un controlador de dispositivo kernel, especialmente si hay una pieza de hardware involucrada. El instalador le pedirá a Windows que instale el controlador. Proporciona una “receta” (¿archivo INF todavía?) Que le dice a Windows cuándo cargar el controlador y qué tipo de controlador es. Windows se encargará de los detalles.

3) Algunos programas se ejecutan automáticamente, no solo cuando hace doble clic en el icono en la pantalla. En este caso, el instalador le indicará a Windows que lo ejecute como un “servicio” del sistema.

4) Durante una instalación típica, Windows está poniendo mucha información en el “Registro”. Este es un libro de información gigante. Tiene toda la información sobre cuándo y cómo cargar los controladores del dispositivo y cuándo iniciar los servicios del sistema, y ​​mucho más.

5) La mayoría de los programas quieren estar en la lista que se muestra cuando hace clic en el botón Inicio y va a “Todos los programas”. Algunos quieren tener un icono en su pantalla. Algunos quieren estar en la barra de tareas. Todos estos detalles son manejados por el instalador. Le dice a Windows dónde quiere que aparezca el nombre o icono del programa.

6) Windows agregará el nuevo programa a su lista de software instalado. El usuario puede ir allí para desinstalar el programa cuando llegue el momento. Por lo general, el instalador le dio a Windows algunas instrucciones sobre qué hacer para desinstalar el programa.

Las Mac y Linux hacen las cosas de manera algo diferente, pero el objetivo básico es el mismo: cargar el software y decirle al sistema operativo cómo debe ejecutarse.