Windows 95 INF Driver Setup File Format

When Microsoft released Windows 95, it fundamentally changed how hardware drivers and software components were installed by standardizing the Setup Information (INF) file format. This article examines the structure and role of the Windows 95 INF driver specification script, detailing its underlying plain-text configuration syntax, its primary structural directives, and how the operating system utilized these scripts to deliver native Plug and Play driver installation.

The Plain-Text INI Architecture

Windows 95 driver specification scripts utilized the INF (Information) file format, stored with a .inf extension. At its core, the INF format is a specialized plain-text ASCII file that heavily borrows from the standard Initialization (INI) file structure established in earlier versions of Windows and MS-DOS.

Rather than executing proprietary binary code to configure hardware, Windows 95 parsed these human-readable text files to determine which driver files were required, where they should be placed on the disk, and what modifications needed to be applied to the system registry.

Core Sections of a Windows 95 INF Script

An INF file is organized into distinct, bracketed sections containing keys, directives, and values. Windows 95 evaluated these sections in a structured order to register hardware:

  • [Version]: Defines the target operating system and basic catalog attributes. For Windows 95, the signature key was universally defined as Signature="$CHICAGO$", where "Chicago" was the development codename for the operating system.
  • [Manufacturer]: Identifies the hardware vendor and directs the setup parser to one or more model-specific sections.
  • Device Models Section: Links specific hardware identity strings, such as Plug and Play (PnP) hardware IDs or PCI/ISA vendor and device codes, to installation instructions.
  • Install Sections ([Install] or [DDInstall]): Specifies the operational tasks required for setup. Directives in this section typically include CopyFiles (files to duplicate), AddReg (registry entries to create), and DelReg (obsolete entries to clean up).
  • [SourceDisksNames] and [SourceDisksFiles]: Maps the individual driver files to specific media labels or installation paths, facilitating driver installation from floppy disks or CD-ROMs.
  • [Strings]: Located at the bottom of the script, this section stores localized text and centralizes variables. Tokens wrapped in percent signs (e.g., %DeviceDesc%) throughout the INF file are replaced with the definitions declared here.

How Windows 95 Utilized INF Files

Prior to Windows 95, installing device drivers in Windows 3.1 often required running separate vendor-supplied executable installers or manually editing SYSTEM.INI and CONFIG.SYS.

Windows 95 integrated INF parsing directly into its Setup engine and Device Manager. When the Plug and Play subsystem detected a new device, it gathered the hardware ID, scanned the C:\WINDOWS\INF directory for an INF script containing a matching ID, and automated the driver deployment. The INF format eliminated the need for third-party installation binaries for simple driver deployment, establishing a unified standard that continued to evolve into modern editions of Windows.