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 theINSTALLstatement. - Execution Order: Statements in
CONFIG.SYSare parsed sequentially, butINSTALLcommands are executed after all device drivers (DEVICE=andDEVICEHIGH=) are loaded, regardless of where theINSTALLline 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.