How did Windows 95 decide that a setup program ran?
Windows 95 used a set of heuristics to determine whether a running program was a setup program. These heuristics included checking file attributes like the presence of a setup logo bitmap or specific version information.
Background
- This is a post by **Raymond Chen** on *The Old New Thing*, a long-running Microsoft blog that dives into obscure details of Windows history, often revealing why things worked the way they did.
- The question: Windows 95 needed to detect when a user ran a "setup" or installer program (as opposed to a normal app), because setup programs often require rebooting the system afterward. The OS used this detection to automatically prompt the user to restart.
- The answer: Windows 95 used **heuristics** — rules of thumb like checking the file name for keywords such as "setup" or "install", or looking at certain metadata — rather than a hard-coded list. This was typical of the era, before proper installer APIs were standardized.
- Why it matters: These old heuristic approaches explain a lot of quirky behavior (e.g., why renaming a file might break a feature, or why some programs were treated weirdly). It's a peek into the pragmatic, seat-of-the-pants engineering that shaped modern computing.