Windows 95 y su método para ‘detectar’ instaladores: así funcionaba

Windows 95 y su método para 'detectar' instaladores: así funcionaba

Instaladores Windows 95 era una etiqueta que el sistema asignaba más por heurística que por análisis: Windows 95 leía el nombre del ejecutable y buscaba palabras concretas para decidir si había corrido un instalador.

Cómo Windows 95 identificaba instaladores Windows 95

La detección de instaladores en Windows 95 no era fruto de monitorizar operaciones de fichero ni de firmar ejecutables. Se basaba en una coincidencia de cadenas dentro del nombre del archivo. Si el nombre contenía ciertos fragmentos, el sistema lo marcaba como instalador y, cuando terminaba, verificaba si había que restaurar archivos de sistema.

La lista era corta y estática: setup, install, inst y tres entradas localizadas que, según Raymond Chen (del blog Old New Thing), fueron conjeturas para otros idiomas —imposta, ayarla, felrak—. En conjunto, eran seis términos que gatillaban la comprobación.

Hubo además una segunda pasada de control: si el nombre del ejecutable no coincidía con nada, Windows 95 buscaba la palabra «Setup» en la ruta donde residía el programa. Y, de forma separada, realizaba una comprobación en vivo después de instalar drivers multimedia vía INF, porque esos instaladores solían sobrescribir DLL del sistema.

- Publicidad -

La implementación tenía consecuencias claras: un instalador con un nombre atípico podía pasar desapercibido y no beneficiarse de la restauración automática, mientras que un programa inocente llamado, por ejemplo, instant.exe podía disparar la rutina de recuperación sin motivo.

Por qué existía ese truco y qué vino después

En los años 90 los instaladores con frecuencia sobreescribían DLL compartidas sin comprobar versiones, rompiendo la regla no escrita de «solo reemplazar por versiones más recientes». Windows 95 almacenaba copias de seguridad de archivos proclives a ser sobrescritos en un directorio oculto: C:\Windows\SYSBCKUP. El sistema dejaba terminar al instalador, revisaba qué había cambiado y restauraba las versiones correctas si detectaba un retroceso.

Este enfoque era práctico pero frágil: dependía de adivinar que se había ejecutado un instalador. Además, la comprobación a veces se aplazaba hasta el siguiente arranque. Chen explica que muchos instaladores no podían reemplazar archivos en uso y lanzaban un reinicio con scripts en MS-DOS para hacer el intercambio, de modo que la limpieza debía esperar al reinicio para detectar esos cambios.

Microsoft abandonó esta técnica en Windows 2000 con la llegada de Windows File Protection. En lugar de adivinar, el sistema se registraba para notificaciones de cambio de archivos y restauraba versiones protegidas desde una caché en %WinDir%\System32\dllcache. Más adelante, Windows ME incorporó un sistema equivalente y Windows Vista introdujo Windows Resource Protection, que usa listas de control de acceso (ACL) para proteger archivos críticos.

La utilidad sfc /scannow que aún se usa en Windows modernos desciende de ese trabajo: mantiene la idea de comprobar y reparar archivos de sistema, pero sin depender de que un programa tenga la palabra «setup» en su nombre.

Un detalle interesante del propio listado de palabras: la entrada «install» era redundante porque cualquier nombre que contenga «install» ya contiene «inst». Chen sugiere que la versión corta quedó porque alguien añadió luego la variante más corta para capturar nombres tipo «blahinst» sin borrar la entrada original.

En la práctica, este capítulo es un buen ejemplo de cómo las soluciones tempranas para problemas reales pueden ser pragmáticas y toscas: funcionaban en la mayoría de los casos, pero generaban falsos positivos y retrasos. No es un detalle menor: esa simple comprobación condicionó la fiabilidad de las instalaciones y el mantenimiento de archivos de sistema durante años, hasta que Microsoft introdujo mecanismos más robustos y proactivos.

¿Te ha gustado? ¡Comparte este artículo!

¡Tu cuenta ha sido activada correctamente!

Ahora ya puedes hacer login con tu usuario y contraseña. ¡Bienvenido/a!