Unknown Drivers Aren't a Problem
Over the past few months, I've shared what I figured out about making unattended Windows NT installations work. This month, I'll explain how to use the txtsetup.oem approach to perform an unattended installation of a SCSI driver that isn't on the original NT Server CD-ROM.
Why SCSI Drivers Create a Snag
NT Setup has two main phases: a text phase and a GUI phase. The text Setup phase runs under DOS or a DOS-like loader. This resemblance to DOS is the reason why, when you install NT on a system and tell Setup to make drive C NTFS, Setup proceeds as if C were a FAT drive, then converts the C drive to NTFS at the last minute. The DOS-like part of the text Setup can't work with NTFS.
Although much of NT Setup is graphical, certain low-level installation tasks require text commands. You can wait to configure the operating system (OS) for the type of mouse, video board, and printer that your computer uses until after NT installs and the graphical Setup phase begins. But Setup must know how to read and write to your hard disks early in the installation process. Thus, you install disk adapter drivers during the text phase.
An oemsetup.inf file accompanies most NT drivers. Oemsetup.inf instructs NT about how to load the drivers and which directory to place them in. Oemsetup.inf files are sufficient for unattended installation of most drivers, because they answer questions that the graphical part of Setup raises. However, loading drivers that the text part of Setup calls for requires oemsetup.inf and another file, txtsetup.oem.
Suppose you have SCSI host adapter drivers (or drivers for some kind of whizbang EIDE host adapter) that are newer than the drivers on your NT Server 4.0 CD-ROM, or you have drivers for an adapter that didn't exist in '96. (Oops, I should have said 1996 to make the column Year 2000Y2Kcompliant.) How can you set up an unattended NT installation on a machine with those drivers? You need oemsetup.inf, txtmode.oem, and driver files for your SCSI board. The oemsetup.inf and txtmode.oem files are ASCII text files that the vendor wrote. Most driver files have the .sys extension. You can get all three files from the host adapter vendor.
Using the OEM Files
Suppose you buy a new host adapter from the fictitious company BitSlalom Scientifics. Disks containing the oemsetup.inf, txtmode.oem, and driver files will come in the box, but don't bother looking at them. One of the most important rules of hardware installation dictates that no matter how recently you bought a new board, the vendor's Web site contains newer drivers than what is in the board's box. Rather than installing the drivers that come with the adapter, surf over to BitSlalom Scientifics' Web site and find the .zip or self-extracting .exe file that contains your board's latest drivers for NT 4.0. Download and open the .zip file to find three files: oemsetup.inf, txtsetup.oem, and bsnt.sys.
After you have these files, prepare your system for an automated installation. As I explained in previous columns, to perform unattended NT installations, you need a setup file distribution point (I call mine I386) that contains an $OEM$ directory. For SCSI driver installation, create a Textmode directory inside the $OEM$ directory. My SCSI driver directory is \I386\$OEM$\Textmode.
Place copies of oemsetup.inf, txtmode.oem, and bsnt.sys into your Textmode directory. Then, modify your unattended setup script to add an [OEMBootFiles] section. Within that section, list the names of the three files in the Textmode directory so that the section reads
[OEMBootFiles]
oemsetup.inf
txtmode.oem
bsnt.sys