2.2.1 The txtsetup.oem File
This section describes the format of the txtsetup.oem file and includes
a sample txtsetup.oem file.
A txtsetup.oem file consists of several sections that use the following
general format:
[SectionName]
key = value1,value2,...
The name of the section is enclosed in square brackets, [ ]. The pound sign
(#) or semicolon (;) character at the beginning of a line indicates a comment.
Strings with embedded spaces, commas, or hashes must be enclosed in
double-quotes (“ ”).
The following sections must be included:
Disks Section
The [Disks] section lists all disks in the disk set.
[Disks]
d1 = description,tagfile,directory
d2 = description,tagfile,directory
.
.
.
-
d1, d2, ...
-
Key that can be used in subsequent sections to identify the disk.
-
description
-
Disk name string used to prompt the user to insert the disk.
-
tagfile
-
Specifies the name of the file whose presence on the disk indicates to the
Setup program that the correct disk has been inserted. The filename should be
specified as a full path from the root; for example, \yourtagfile.ext,
but it should not specify a drive.
-
directory
-
Specifies the directory on the disk where the files are located. The directory
should be specified as a full path from the root; for example, \diskdir,
but it should not specify a drive.
Defaults Section
The [Defaults] section lists the default option for each hardware component
supported by this file (as indicated by the presence of a [component]
section for the component). The default is highlighted in the menu of options
presented to the user.
[Defaults]
component = ID
.
.
.
-
component
-
Specifies one of the following components: computer, display, keyboard, mouse,
CD-ROM, or SCSI.
-
ID
-
Specifies a string that identifies the default option. This string matches an
ID specified in the corresponding [component] section.
Component Section
A [component] section lists the options available for a particular
component.
[component]
ID = description
.
.
.
-
ID
-
Specifies a unique string (within this section) that identifies the option.
For the computer component, if this string ends in “_up”, Setup copies the
uniprocessor kernel; if this string ends in “_mp”, Setup copies the
multiprocessor kernel; if it ends in neither, the results are unspecified and
you might get either kernel.
Files.component.ID Section
A [Files.component.ID] section lists the files that should be
copied if the user selects a particular component option. One section of this
type must be present for each option listed in each component section. The component
portion of the section name corresponds to the name of a [component]
section, and the ID portion corresponds to an ID key in a [component]
section.
[Files.component.ID]
file_type = source_disk,filename[,keyname]
-
filetype
-
Identifies the type of file. One of the following is specified:
-
driver
-
Valid for all components. File is copied to systemroot\system32\drivers.
-
port
-
Valid for keyboard, mouse, and SCSI components. Allows distinction between
port and class driver -- but equivalent to driver type.
-
class
-
Valid for keyboard and mouse components. If specified, replaces the standard
class driver. File is copied to systemroot\system32\drivers.
-
dll
-
Valid for all components. Useful for GDI portion of a display driver. File is
copied to systemroot\system32.
-
hal
-
Valid only for computer component. File is copied to systemroot\system32\hal.dll
(80386/80486), or to \os\winnt\hal.dll on the system partition (ARC).
-
inf
-
Valid for all components. Used to copy a GUI INF file for use with system
maintenance setup. File is copied to systemroot\system32.
-
detect
-
Valid for the computer component (80386/80486 only). If specified, replaces
the standard 80386/80486 hardware recognizer. File is copied to c:\ntdetect.com.
-
source_disk
-
Identifies the disk from which to copy the file, and must match an entry in
the [Disks] section.
-
filename
-
Name of the file not including the directory path. The filename is appended to
the directory specified for the disk in the [Disks] section to form the full
path of the file on the disk.
-
DriverKey
-
Name of the key to be created in the registry services tree for this file, if
the file is of type driver, port, or class. This value is used to form
[Config.DriverKey] section names.
Config.DriverKey Section
A [Config.DriverKey] section specifies values to be set in the registry
for particular component options. Required values in the Services\DriverKey
key are created automatically. Use this section to specify additional keys
to be created under Services\DriverKey and values under Services\DriverKey
and Services\DriverKey\subkey_name.
[Config.DriverKey]
value = subkey_name,value_name,value_type,value...
.
.
.
-
subkey_name
-
Specifies the name of a key under the Services\DriverKey tree in
which to place the specified value. The key is created if it does not exist.
If the empty string (““) is specified, the value is placed under the Services\DriverKey
tree.
-
value_name
-
Specifies the name of the value to be set within the key.
-
value_type
-
A string like REG_DWORD that identifies the type of data for this value.
-
value
-
Specifies the actual value; its format depends on value_type.
The following types can be specified in the value_type field in
[Config.DriverKey] sections:
-
REG_DWORD
-
One value is allowed; it must be a string of 1-8 hex digits.
For example:
value = parameters,NumberOfButtons,REG_DWORD,0X2.
-
REG_SZ, REG_EXPAND_SZ
-
One value is allowed; it is interpreted as the zero-terminated string
to be stored.
For example:
value = parameters,Description,REG_SZ,"This is a text string"
-
REG_BINARY
-
One value is allowed; it is a string of hex digits, each pair of which
is interpreted as a byte value.
For example (stores the byte stream 00,34,ec,4d,04,5a):
value = parameters,Data,REG_BINARY,0034eC4D045a
-
REG_MULTI_SZ
-
Multiple value arguments are allowed; each is interpreted as a
component of the multisz.
For example:
value = parameters,Strings,REG_MULTI_SZ,String1,"String 2",string3
Example txtsetup.oem file
The following is an example of a txtsetup.oem file:
[Disks]
d1 = "Oem mouse driver disk 1",\oemmou01.tag,\
[Defaults]
mouse = m2
[mouse]
m1 = "Oem mouse type 1"
m2 = "Oem mouse type 2"
[Files.mouse.m1]
port = d1,m1.sys,oemmou1
[Files.mouse.m2]
port = d1,m2.sys,oemmoup
#replace the mouse class driver
class = d1,oemmoucl.sys,oemmouc
[Config.oemmou1]
value = parameters,xres,REG_DWORD,10
value = parameters,yres,REG_DWORD,20
value = parameters,description,REG_SZ,"Mouse type 1"
[Config.oemmoup]
value = parameters,xres,REG_DWORD,10
value = parameters,yres,REG_DWORD,20
value = parameters,description,REG_SZ,"Mouse type 2"
[Config.oemmouc]
value = parameters,description,REG_SZ,"Mouse class"
A single distribution disk with a single txtsetup.oem file can be used
to support multiple hardware devices. To do this, the txtsetup.oem file
would contain a single [Defaults] section with an entry specifying the default
choice for each hardware type. The file would also contain a [Component] entry
for each hardware type and the appropriate associated [Files.Component.ID]
and [Config.DriverKey] entries.