MS-DOS 6.22 CONFIG.SYS INSTALL Statement Explained

The INSTALL statement in the MS-DOS 6.22 CONFIG.SYS file allows users to load Terminate-and-Stay-Resident (TSR) programs into memory during the initial system configuration phase rather than during the execution of AUTOEXEC.BAT. This article details how the INSTALL command functions, the memory optimization benefits it offers over standard execution, the operational limitations imposed by loading TSRs prior to the command processor, and its variant, INSTALLHIGH.

Purpose and Memory Optimization

In MS-DOS 6.22, TSR programs are typically loaded from AUTOEXEC.BAT or the command prompt. When launched this way, DOS creates a copy of the active environment block (containing environment variables and system paths) for the program. Even after the program terminates and stays resident, that private environment segment remains allocated in memory, consuming conventional RAM.

The INSTALL statement loads TSRs directly from CONFIG.SYS before MS-DOS initializes the primary command shell (COMMAND.COM). Because the command interpreter has not yet been loaded, no master environment exists to duplicate. Consequently, DOS allocates memory strictly for the program code and data without attaching a redundant environment block. This typically reclaims between 256 and 512 bytes of conventional memory per loaded TSR, which is critical for maximizing base memory for DOS applications.

Syntax and the INSTALLHIGH Directive

The basic syntax for the statement in CONFIG.SYS is:

INSTALL=[drive:][path]filename [parameters]

MS-DOS 6.22 also includes the INSTALLHIGH command, which functions identically to INSTALL but attempts to load the TSR into Upper Memory Blocks (UMBs) rather than conventional memory:

INSTALLHIGH=[drive:][path]filename [parameters]

To use INSTALLHIGH, the system must have an expanded/extended memory manager loaded (such as HIMEM.SYS and EMM386.EXE) and include the DOS=UMB directive earlier in CONFIG.SYS.

Compatible TSR Programs

Only specific utilities designed to operate without an active command processor should be loaded using INSTALL. MS-DOS 6.22 documentation explicitly supports the following standard utilities:

  • FASTOPEN.EXE: Decreases file access times by caching directory locations.
  • KEYB.COM: Configures the keyboard layout for non-US layouts.
  • NLSFUNC.EXE: Provides National Language Support.
  • SHARE.EXE: Implements file-sharing and file-locking capabilities.

Third-party utilities can also be loaded via INSTALL provided they do not depend on command interpreter features.

Operational Limitations

Because INSTALL processes programs during the boot sequence, several constraints apply:

  • No Command Interpreter Features: Features like I/O redirection (<, >), piping (|), environment variables (such as %PATH%), and internal shell commands cannot be used with the INSTALL statement.
  • Execution Order: Statements in CONFIG.SYS are parsed sequentially, but INSTALL commands are executed after all device drivers (DEVICE= and DEVICEHIGH=) are loaded, regardless of where the INSTALL line appears in the file.
  • Error Handling: If an installed TSR fails or hangs during initialization, it can disrupt the boot process before the user reaches the command prompt, requiring a clean boot (using the F5 or F8 keys during startup) to correct the configuration.