To know SYSTEM.INI is to understand Windows. This file is the primary hardware configuration file for Windows. During installation, Windows creates all the sections in SYSTEM.INI, which, for the most part, should never be changed. However, one section-[386Enh]-is very important. Most of the problems associated with Windows (as opposed to Windows applications) that users encounter can be directly attributed to problems within this section.
The [386Enh] section stores all the values for 386 Enhanced Mode. Some of the more important items are:
32BitDiskAccess=On/Off: 32-bit disk access can be turned off here if Windows won't start. If Windows won't start and you suspect this is the problem, use the win /d command. By starting Windows with this switch, you bypass 32-bit access. If Windows is OK, then turn this option off through the Virtual Memory/Change Menu in the Control Panel 386 Enhanced Menu, or just change on to off.
ComXIRq=Number: This is where a COM port number and the port's IRQ are defined. Useful with devices that require nonstandard COM ports.
EMMExclude=XXXX-XXXX: This command tunes the operation of the EMM range by excluding memory ranges that are required for specific drivers, thereby avoiding possible conflicts. Before Plug and Play, this command was often the only way to get some device drivers to load. Note that whenever an item=XXXX-XXXX statement is used in an EMM386 line or in the CONFIG.SYS file, an equivalent EMMExclude statement is required in this section of the SYSTEM.INI file.
EmmInclude=XXXX-XXXX: This command is the reverse of the preceding EMM command, allowing one to force inclusion of memory areas that might otherwise be left unused.
Max:Bps=768: Intermittent General Protection Faults (GPFs) can be caused by too few breakpoints. If this line is not in [386Enh] add it.
The following is an example of the [386Enh] section of a SYSTEM.INI file:
[386Enh] device=vhhscand.386 device=C:\Netscape\system\vntstimd.exe device=C:\Netscape\system\vtcprac.386 device=C:\Netscape\system\pdwcomm.386 device=C:\Netscape\system\dial.386 device=SYMEVNT.386 32BITDISKACCESS=on device=*vpowerd ebios=*ebios device=vsndsys.386 mouse=*vmouse, msmouse.vxd device=*vpd woafont=dosapp.fon netheapsize=60 device=cs$cbuf.386 device=vpmtd.386 device=*vshare COMIrqSharing=on COM3Base=03E8 COM4Base=02E8 COM2FIFO=1 COM1Irq=4 COM1Base=03F8 COM2Irq=3 COM2Base=02F8 COM4Irq=2 MinTimeslice=20 WinTimeslice=100,50 WinExclusive=0 Com1AutoAssign=2 Com2AutoAssign=2 LPT1AutoAssign=60 keyboard=*vkd device=*enable
The [Boot] section lists the drivers that must be loaded when Windows starts. Windows might not work if you incorrectly modify or delete one of these settings.
Configuring the WIN.INI File
The WIN.INI file is not required, and Windows will run without it. However, it can be helpful. Two important commands used in WIN.INI are:
These lines autoload programs when Windows starts. They act like a hidden Startup Group. (Any program icon placed in the Startup Group of the Program Manager will automatically start when Windows is started.) If a program continues to automatically load and run, and it has no icon in the Startup Group, it's being loaded in WIN.INI. The difference between Load and Run is that programs invoked by Run will start minimized.
Systems that have been upgraded to Windows 95 and 98 from Windows 3.1 might still have this file. Although it is not required-nor will Windows 95 or 98 create this file-Windows will use the file if it already exists. In that case, any Run and Load statements in this file will be activated as it was previously by Windows 3.1.
The WIN.INI file contains settings that affect the appearance of the Windows desktop, printer selections, and network connections. To edit this file, use the Control Panel or open it in any text editor (the Windows application Notepad will do the job). Close and save the file after you're done editing it.
Windows needs to be rebooted before any changes to WIN.INI take effect. Be very careful when editing-a single typo will cause an error or unexpected results.
The WIN.INI file contains several sections of related settings. Each section is defined by its header, which is displayed in square brackets [Windows]. Within each section are entries in the format keyname=value:
Keyname is the name of the setting.
Keynames are made up of digits and letters with no spaces.
Keynames must be immediately followed by an equal sign (=).
Value can be an integer, a string, or a quoted string.
Comments are preceded by a semicolon (;) and they work like the REM statements in CONFIG.SYS or AUTOEXEC.BAT files.
Always backup the WIN.INI file before editing.
The [Windows] section of the WIN.INI file makes changes to the Windows environment-for example which applications run when Windows is started, and how information appears on the screen. Some of its parameters are:
DoubleClickHeight=<pixels>: Specifies the height (in pixels) that the mouse can move between clicks when it is double-clicked. Default is 4. If movement exceeds this value, the double-click will be interpreted as two single clicks.
DoubleClickWidth=<pixels>: Specifies the width (in pixels) that the mouse can move between clicks when it is double-clicked. Default is 4. If movement exceeds this value, the double-click will be interpreted as two single clicks.
Load=<filename(s)>: Specifies applications to run (minimized) when Windows is started. Can include one or more filenames or applications-each must be separated by a space.
MenuDropAlignment=<0-or-1>: Specifies whether menus open right-aligned or left-aligned with the menu title. 0 means left-aligned and 1 means right-aligned.
Programs=<extensions>: Defines which files Windows considers to be applications. Defaults are .COM, .EXE, .BAT, and .PIF files.
Run=<filename(s)>: When started, Windows will run any application listed.
The [Desktop] section contains optional settings that control the appearance of the screen background and the positioning of windows and icons on the screen. Most of these setting can be changed using the Control Panel.
The [Fonts] Section of WIN.INI describes the fonts to be loaded when Windows starts.