Operating System: Deployment Guide Automating Windows NT Setup
Operating System: Deployment Guide Automating Windows NT Setup
Deployment Guide
Automating Windows NT Setup
The information contained in this document represents the current view of Microsoft Corporation on the issues
discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it
should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the
accuracy of any information presented after the date of publication.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR
IMPLIED, IN THIS DOCUMENT.
Microsoft, Windows, Windows NT, the Windows logo, and MS-DOS are registered trademarks of Microsoft
Corporation in the United States and/or other countries.
Other trademarks or tradenames mentioned herein may be the trademarks of their respective owners.
Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-6399 • USA
297
This deployment guide provides information, tips, and tricks that will
help you automate the Microsoft Windows NT setup process. It is
designed for Information Systems professionals that are tasked with
Automating installing either Windows NT Workstation or Windows
Windows NT NT Server on many computers. You should use this
Setup guide in conjunction with Part 1 of the Windows NT
Workstation Resource Kit.
Microsoft Windows NT includes many tools and
features that can be used to automate the setup
process. You will find detailed information and
examples of these tools in the following five chapters:
• Getting Started
• The Windows NT Workstation 4.0 Setup Script
(UNATTEND.TXT) File
• Configuring Machine-Specific Information
• Application Pre-Installation (SYSDIFF.EXE)
• Customizing Windows NT
CONTENTS
Introduction.................................................................................8
Chapter 1
Getting Started...........................................................................8
What Microsoft Windows NT Deployment Tools Can Do 8
What Microsoft Windows NT Deployment Tools Cannot Do 9
Tools Used with Windows NT Deployment 9
Setup Manager - Creating a Windows NT 4.0 Setup Script File
(UNATTEND.TXT) 9
System Difference Tool: SYSDIFF.EXE 9
Windows NT Registry Tools 10
REGEDIT.EXE..........................................................................................10
REGEDT32.EXE.......................................................................................10
REGINI.EXE.............................................................................................10
Client Connectivity Software 10
Windows NT Setup: WINNT.EXE and WINNT32.EXE 10
WINNT.EXE and WINNT32.EXE command line parameters................11
Steps to Automating Windows NT Deployment 11
Step 1 – Build the Windows NT setup script file (UNATTEND.TXT). 11
Step 2 – Build pre-installation packages using the System Difference tool
(SYSDIFF.EXE). 11
Step 3 – Create process to configure machine-specific information. 11
Step 4 - Build process to automate your distribution method. 12
Building the Distribution Server 12
Copy the Windows NT Source Files 12
Copy Custom Files Using the $OEM$ Directory 12
Structure of the Distribution Share Point 13
Converting Short Filenames to Long Filenames 14
Using Disk Duplication to Distribute Windows NT 15
Installation Performance Considerations 16
Optimizing Client Connectivity Software 16
Optimizing the Character Mode Setup Phase 16
Decreasing the Number of Files Copied During Setup 16
Removing Peer Web Services...................................................................17
Removing Third-Party Provided Network Adapter Drivers 17
Chapter 2
The windows NT Workstation 4.0 Setup Script file
(UNATTEND.TXT)......................................................................17
Introduction 17
UNATTEND.TXT File Format and Reference 18
Description of UNATTEND.TXT File Parameters 18
[Unattended] 18
OemPreinstall 19
NoWaitAfterTextMode 19
NoWaitAfterGuiMode 20
FileSystem 20
ExtendOemPartition 20
ConfirmHardware 21
NtUpgrade 21
Win31Upgrade 21
OverwriteOemFilesOnUpgrade 22
TargetPath 22
ComputerType 22
KeyboardLayout 23
[MassStorageDrivers] 23
<mass storage driver description> 23
[DisplayDrivers] 24
<display driver description> 24
[KeyboardDrivers] 24
<keyboard driver description> 24
[PointingDeviceDrivers] 25
<pointing device driver description> 25
[OEMBootFiles] 25
TXTSETUP.OEM 25
<hal file name> 26
<scsi driver file name> 26
[OEM_Ads] 26
Banner 26
Logo 26
Background 27
[GuiUnattended] 27
OemSkipWelcome 27
OEMBlankAdminPassword 27
TimeZone 27
AdvServerType 28
DetachedProgram 29
Arguments 29
[UserData] 29
FullName 29
OrgName 29
ComputerName 29
ProductID 30
[LicenseFilePrintData] 30
AutoMode 30
AutoUsers 30
[Display] 31
ConfigureAtLogon 31
BitsPerPel 31
Xresolution 31
Yresolution 32
Vrefresh 32
Flags 32
AutoConfirm 32
InstallDriver 33
InfFile 33
InfOption 33
[Modem] 33
InstallModem 34
[<modem parameter section>] 34
<COM port number> 34
[Network] 35
Attended 35
JoinWorkgroup 35
JoinDomain 35
CreateComputerAccount 35
InstallDC 36
DetectAdapters 36
InstallAdapters 36
InstallProtocols 36
InstallServices 37
InstallInternetServer 37
DoNotInstallInternetServer 37
[<Detect Adapters Section>] 37
DetectCount 37
LimitTo 38
<Netcard Inf option> 38
[<Install Adapters Section>] 38
<Netcard Inf option> 38
[<netcard parameter section>] 38
[<Protocols Section>] 39
NBF 39
NWLNKIPX 39
TC 39
DLC 40
RASPPTP 40
STREAMS 40
[<NetBeui Parameters>] 40
[<IPX Parameters>] 40
[<Tcpip Parameters>] 40
DHCP 41
ScopeID 41
[<DLC Parameters>] 42
[<RASPPTP Parameters>] 43
[<STREAMS Parameters>] 43
[<Services Section>] 43
SNMP 43
RAS 43
NWWKSTA 43
NETMON 43
STCPIP 44
SAP 44
TCPPRINT 44
DHCP 45
DNS 45
WINS 45
[<NetWare Client Parameters>] 46
!DefaultLocation 46
!DefaultScriptOptions 46
[<Snmp Parameters>] 46
Accept_CommunityName 46
Send_Authentication 47
Any_Host 47
Limit_Host 47
Community_Name 47
Traps 47
Contact_Name 47
Location 48
Service 48
[<RasParameters>] 48
PortSections 48
DialoutProtocols 48
DialinProtocols 49
NetBEUIClientAccess 49
TcpIpClientAccess 49
UseDHCP 49
StaticAddressBegin 49
StaticAddressEnd 50
ExcludeAddress 50
ClientCanRequestIPAddress 50
IpxClientAccess 50
AutomaticNetworkNumbers 50
NetworkNumberFrom 50
AssignSameNetworkNumber 51
ClientsCanRequestIpxNodeNumber 51
[<port section name>] 51
PortName 51
DeviceType 51
PortUsage 51
[<NETMON Parameters>] 52
[<STCPIP Parameters>] 52
[<SAP Parameters>] 52
[<TCPPRINT Parameters>] 52
[<DHCP Parameters>] 52
[<DNS Parameters>] 52
[<WINS Parameters>] 52
[<internet information server section>] 52
InstallINETSTP 53
InstallADMIN 53
InstallFTP 53
FTPRoot 53
InstallWWW 53
WWWRoot 53
InstallGOPHER 54
GopherRoot 54
InstallDir 54
InstallW3SAMP 54
InstallHTMLA 54
GuestAccountName 55
GuestAccountPassword 55
Sample UNATTEND.TXT Files 55
Sample 2 57
Configuring Network Adapters and Setup Information Files for Automated
Installation 59
Building the Windows NT Setup Script Network Adapters Section 60
Example 1..................................................................................................60
Example 2..................................................................................................61
Example 3..................................................................................................61
Determining Network Adapters Parameters in the UNATTEND.TXT 61
Overview of a Network Component .INF that Supports Unattended
Installation 62
Setting Parameters for Network Adapter Cards........................................63
Verifying and Testing Component .INFs..................................................63
Verifying the OEM File for STF_GUI_UNATTENDED 64
Installation of Network Adapters Drivers Not Supplied on the Windows NT
4.0 Retail CD 65
Bypassing the "Current Netcard Parameters Are Not Verifiably Correct"
Message 66
Network Adapter Option Name 67
Driver Supplied in the \I386 Directory 67
Drivers Supplied in the \DRVLIB\NETCARD\X86 and \I386\DRVLIB.NIC
Directories 69
OEM Install Options that Can be Used with UNATTEND.TXT 72
TXTSETUP.SIF Entries for Retail-Supplied Files that Work with OEM
Options in the UNATTEND.TXT 73
Third-Party Video Display Drivers and Display Settings 77
Options for Microsoft-Supplied Video Drivers (Part of I386/Auto-Detected)
77
Options for OEM-Supplied Video Drivers 78
TXTSETUP.OEM and [OEMBootFiles] 79
TXTSETUP.OEM File: Format and Sample 79
Error Messages When Working with TXTSETUP.OEM 83
Chapter 3
Configuring machine-specific Information...............................84
Create Unique Setup Script Files for Each Computer 85
Modify the Machine-Specific Settings After the Character Mode Portion of
Windows NT 4.0 Setup 85
Editing the Windows NT 4.0 Setup Script (UNATTEND.TXT) After
Character Mode Setup 86
Editing the Uniqueness Database File (.UDB) After Character Mode Setup
86
Configure Machine-Specific Information Using Uniqueness Database Files
(.UDB) 86
Specifying a Unique ID.............................................................................87
Creating the .UDB ....................................................................................87
Replacing a Line in Setup Script ..............................................................88
Adding a New Line to Setup Script .........................................................88
Deleting a Line from Setup Script ............................................................89
Chapter 4
Windows NT 4.0 Application
Pre-Installation Tool (SYSDIFF.EXE)........................................93
Overview 93
Installing SYSDIFF.EXE 93
SYSDIFF.EXE Parameters and Syntax 93
/snap Mode 94
/diff Mode 94
/apply Mode 95
Dump Mode 96
/inf Mode 96
Building Application Images for Pre-Installation 97
Three Steps to Building an Application Image 98
Adding an Application Image to the Distribution Server 98
SYSDIFF /inf Mode 98
SYSDIFF/apply Mode 99
Troubleshooting SYSDIFF.EXE 99
Error Message: System Error 5. 99
Error Message: An incorrect or duplicate computer name is created after
applying the difference file. 100
Error Message: Contact the Manufacturer... 100
Error Message: Diff Failed (error=2) 100
Error Message: Diff Failed (error=32) 100
Problem: Empty directories on the master machine are not processed by
SYSDIFF /snap. 101
Problem: .INI files may not be updated or copied during SYSDIFF/apply or
SYSDIFF/inf. 101
Problem: Networks with limited bandwidth experience problems when doing
SYSDIFF /inf to the distribution server. 101
Problem: Package file dates are changed. 101
Problem: The computer stops responding (hangs) when you use the
SYSDIFF /apply command. 102
Problem: The SYSDIFF tool takes a long time to finish and the image file is
extremely large. 102
Problem: When you run the SYSDIFF tool, it appears on the screen briefly
and then nothing else happens. 103
Problem: Some of the changes are not applied when you run the SYSDIFF
/apply command. 103
Problem: Network drives appear in My Computer after you apply a
difference file. 103
Problem: Temporary files are left in the folder where you are creating
SYSDIFF.EXE files. 103
Problem: SYSDIFF.EXE /apply or /inf fails when updating an .INI file or
fails to copy the .INI files. 103
Chapter 5
Customizing
Windows NT.............................................................................106
Overview 106
Distributing Files Automatically Using Windows NT Setup 106
Customizing the Start Menu 106
Tools to Customize Windows NT 107
REGEDIT.EXE 107
Configuring a System to Automatically Logon and Execute a Program
..................................................................................................................109
Configuring System to Skip the Welcome Screen..................................110
Executing a Batch File on First Logon to Customize Windows NT......112
Adding Silent Application Setup Commands to a Batch File................113
Customizing Windows NT Logon...........................................................113
Executing Commands During Windows NT Setup - CMDLINES.TXT 115
Using the Windows NT Setup Engine, SETUPAPI.DLL 116
Removing the Gopher and World Wide Web (WWW) Services...........118
Automating Installation of Windows NT Service Packs 119
Automating Selection of Windows Accessories and Components 120
Automating Installation of Peer Web Services 122
Removing Microsoft Exchange Client, and Image Viewer 123
Microsoft Exchange Client 123
Image Viewer 124
INTRODUCTION
CHAPTER 1 Automating Installation of Microsoft Exchange Server Client and Microsoft
GETTING STARTED Internet Explorer 3.0x for
Windows NT 124
Automating Installation of the Exchange Client Supplied with Microsoft
Exchange Server 124
Installation of the Microsoft Internet Explorer 3.0x 126
For More Information 126
This deployment guide provides information, tips, and tricks that will help you
automate the MicrosoftWindows NTsetup process. It is designed for
Information Systems professionals that are tasked with installing either
Windows NT Workstation or Windows NT Server on many computers. You
should use this guide in conjunction with Part 1 of the Windows NT
Workstation Resource Kit.
Microsoft Windows NT includes many tools and features that can be used
to automate the setup process. You will find detailed information and
examples of these tools in the following five chapters:
• Getting Started
• The Windows NT Workstation 4.0 Setup Script (UNATTEND.TXT)
File
• Configuring Machine-Specific Information
• Application Pre-Installation (SYSDIFF.EXE)
• Customizing Windows
REGEDIT.EXE
REGEDIT.EXE is a Windows NT supplied utility for working with the registry.
REGEDIT.EXE is very similar to the one provided with Windows95. If you
are familiar with the Import and Export features used often in Windows 95, the
same functionality is provided with Windows NT. See Chapter 5, "Customizing
Windows NT" for examples of how to use REGEDIT.EXE with Windows NT.
REGEDT32.EXE
REGEDT32.EXE is a Windows NT supplied utility for working with the registry
hives. REGEDT32.EXE provides features that REGEDIT.EXE does not.
REGEDT32.EXE is used to modify the stock registry hive supplied with the
Windows NT 4.0 operating system prior to installation of Windows NT. See
Chapter 5, “Customizing Windows NT” for examples of how to use
REGEDT32.EXE.
REGINI.EXE
REGINI.EXE is a Windows NT 4.0 Resource Kit utility, which provides the
ability to make simple modifications to the SYSTEM and SOFTWARE registry
hives of the Windows NT registry. REGINI.EXE also provides the ability to
change/apply security to the registry. REGINI.EXE is included with the
Windows NT 4.0 Resource Kit. See Chapter 5, “Customizing Windows NT” for
examples of how to use REGINI.EXE.
\<Distribution directory>\$OEM$\D\Data
[section_name_2]
.
Where:
– section_name_1 and so forth is the path to the directory that contains
the files. A section can have no name, or "\" as a name. In this case it
indicates that the section contains the name of the files or
subdirectories that are on the root of the drive.
– short_name_1 and so forth is the name of the file or subdirectory in
this directory to be renamed. It must NOT be enclosed in quotes.
– long_name_1 and so forth is the new name of the file or subdirectory.
Note that this name should be inside double quotes if it contains
spaces or commas.
Sample $$RENAME.TXT
[\MSO]
MICROS~1.LNK="Microsoft PowerPoint Setup.lnk"
MICROS~2.LNK="Microsoft PowerPoint.lnk"
TEMPLA~1="Templates"
[\MSO\Office\MSN]
MICROS~1.MCC="Microsoft Access 95 Forum.mcc"
MICROS~2.MCC="Microsoft Excel 95 Forum.mcc"
MICROS~3.MCC="Microsoft Office 95 Forum.mcc"
Once a duplicate hard disk has been installed in a target computer, the
computer is ready to complete Windows NT setup.
Example:
[OptionalSrcDirs]
; inetsrv
drvlib.nic
Example:
[OptionalSrcDirs]
inetsrv
; drvlib.nic
Introduction
You can specify the settings for Windows NT 4.0 installations by creating a
custom file in UNATTEND.TXT format and using this setup script for
installation. To run Windows NT 4.0 setup using a setup script, you must
specify the name of your script file and the location of the Windows NT 4.0
source files:
Examples:
WINNT /U:F:\i386\UNATTEND.TXT /S:F:\i386
WINNT32 /U:MYSCRIPT.TXT /S:\\MYSERVER\i386
Note: The filename for the setup script file must adhere to
the MS-DOS 8.3 file format.
[section1]
;
; Section contains keys and the corresponding
; values for those keys/parameters.
; keys and values are separated by "=" signs
; Values usually require double quotes "" around them
;
key = value
.
.
[section2]
key = value
.
.
[Unattended]
This section header is used to identify whether an unattended installation is
being performed or not. The [Unattended] section must exist or the
UNATTENDED.TXT file will be ignored. Parameters that can exist in this
section are discussed below.
OemPre in s ta ll
Values: Yes | No
Example Syntax:
OemPreinstall = Yes
[MassStorageDrivers]
[KeyboardDrivers]
[PointingDeviceDrivers]
[OEMBootFiles]
[OEM_Ads]
NoWaitA f te rTe x t Mo d e
Value: 0 | 1
Example Syntax:
NoWaitAfterTextMode = 1
This key determines whether the text mode portion of setup should
automatically boot into GUI mode or not. It is only valid when OemPreinstall
= Yes. The default behavior is to halt after text mode during a pre-installation.
0 indicates that setup should halt after text mode and 1 indicates that setup
should automatically reboot into GUI setup mode after text mode is complete.
Note: If ExtendOemPartion is equal to 1 (see below) then setup cannot
automatically reboot into GUI setup mode after text mode is complete.
This key can only be specified in the answer file, not in the UDF.
NoWaitA f te rG u iM o d e
Value: 0 | 1
Example Syntax:
NoWaitAfterGuiMode = 1
This key determines whether the GUI mode portion of setup should
automatically reboot to the logon screen or not. It is only valid when
OemPreinstall = Yes. The default behavior is to halt at the end of GUI mode
setup.
0 indicates that setup should halt after GUI mode and 1 indicates that setup
should automatically reboot after GUI mode is complete.
This key can only be specified in the answer file, not in the UDF.
File Sys te m
Value: ConvertNTFS | LeaveAlone
Example Syntax:
FileSystem = ConvertNTFS
or
FileSystem = LeaveAlone
Ex te nd Oe mPa rt it io n
Value: 0 | 1
Example Syntax:
ExtendOemPartition = 1
0 implies that the partition will not be extended and 1 indicates that it should
be extended. When the value is 1, the FileSystem key must be set to
ConvertNTFS.
Note: With this option, Windows NT setup cannot automatically reboot into
GUI setup mode after text mode is complete. The user will be prompted to
press a key to reboot the system.
This key can only be specified in the answer file, not in the UDF.
ConfirmHa rd w a r e
Value: Yes | No
Example Syntax:
ConfirmHardware = yes
This key determines whether a user should manually confirm hardware and
mass storage devices detected by the setup program.
Yes indicates that a user must manually confirm the hardware detected and
No implies setup should install the detected devices.
For a complete unattended installation, this key should be set to No.
This key can only be specified in the answer file, not in the UDF.
NtUp g ra d e
Values: Yes | No | Manual | Single
Example Syntax:
NtUpgrade = No
Win3 1Up g ra d e
Values: Yes | No
Example Syntax:
Win31Upgrade = No
Ove rw ri te Oe mF ile s On Up g ra d e
Values: Yes | No
Example Syntax:
OverwriteOemFilesOnUpgrade = Yes
This key determines whether OEM-supplied files that have the same name
as Windows NT system files should be overwritten during an unattended
upgrade or not.
Yes means overwrite the files and No means do not overwrite if found. The
default behavior is to overwrite OEM-supplied files.
This key can only be specified in the answer file, not in the UDF.
Ta rg e tPa th
Values: * | <path name> | Manual
Example Syntax:
TargetPath = \Winnt
Note: To place the WINNT directory on any drive other than C:, use the /T:
command line switch with WINNT.EXE or WINNT32.EXE. The /T: switch
places the $WIN_NT$.~LS directory on the drive specified and Windows NT
will by default install to the drive. The system files NTDETECT.COM, NTLDR,
and BOOT.INI will still be placed on the active partition which is usually C:.
This key can only be specified in the answer file, not in the UDF.
Compu te rT yp e
Values: <hal description> [, Retail | OEM]
Example Syntax:
ComputerType = "Standard PC - OEM","OEM"
Keybo a rd L a yo u t
Value: <layout description>
Example Syntax:
KeyboardLayout = "US-International"
This key indicates the type of keyboard layout to be installed. If this key
does not exist, setup will detect and install a keyboard layout.
<layout description> must match one of the right hand strings (in "") in the
["Keyboard Layout"] section of TXTSETUP.SIF
See the “OEM Pre-Install Options” section in Chapter 2 for further
information.
This key can only be specified in the answer file, not in the UDF.
[MassStorageDrivers]
This section contains a list of SCSI drivers to be loaded by the Setup Loader,
and installed during Text Mode Setup. If this section is missing or empty,
setup will detect the hard disk controllers on the machine, and install the
corresponding retail drivers. In most cases you should use this section blank.
Example Syntax:
"SCSI Adapter OEM" = "OEM"
[DisplayDrivers]
This section contains a list of Display Drivers to be loaded by the Setup
Loader, and installed during Text Mode Setup. It is only valid when
OemPreinstall = Yes. If this section is missing or empty, setup will attempt to
detect the display devices on the machine, and install the corresponding retail
drivers. In most cases this section is not necessary.
Note: You can get the same functionality by using the settings in the
[Display] section described later in this document.
This is a string that identifies the driver to be installed. It must match one of
the strings defined in the right-hand side of the [Display] section of
TXTSETUP.SIF (for a retail driver), or TXTSETUP.OEM (for an OEM driver).
Multiple <display driver descriptions> can be specified.
RETAIL indicates that the driver is part of the retail Windows NT product.
OEM indicates that the driver is OEM-supplied.
Note: Use this section if setup is unable to detect your device correctly or if
the driver for the device is not included in the retail box. If setup is able to
detect your device properly, you do not need this section.
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
[KeyboardDrivers]
This section contains a list of Keyboard Drivers to be loaded by the Setup
Loader, and installed during Text Mode Setup. It is only valid when
OemPreinstall = Yes. If this section is missing or empty, setup will attempt to
detect the keyboard devices on the machine, and install the corresponding
retail drivers.
[PointingDeviceDrivers]
This section contains a list of pointing device drivers to be loaded by the Setup
Loader, and installed during Text Mode Setup. It is only valid when
OemPreinstall = Yes. If this section is missing or empty, setup will attempt to
detect the pointing devices on the machine, and install the corresponding retail
drivers.
This is a string that identifies the driver to be installed. It must match one of
the strings defined in the right-hand side of the [Mouse] section of
TXTSETUP.SIF (for a retail driver), or TXTSETUP.OEM (for an OEM driver).
Multiple <pointing device driver descriptions> can be specified.
RETAIL indicates that the driver is part of the retail Windows NT product.
OEM indicates that the driver is OEM-supplied.
Note: Use this section if setup is unable to detect your device correctly or if
the driver for the device is not included in the retail box. If setup is able to
detect your device properly you do not need this section.
See the “OEM Pre-Install Options” section in Chapter 2 for further
information.
This key can only be specified in the answer file, not in the UDF.
[OEMBootFiles]
This section is used to specify OEM-supplied boot files. It is only valid if
OemPreinstall = Yes and the files listed here have been placed in the
$OEM$\Textmode directory of the Windows NT source files distribution share
point.
TXTSETUP.OEM
This file contains descriptions of all of the OEM-supplied drivers listed in this
section. It also includes instructions on how to install these drivers. It must
exist if this section is included.
[OEM_Ads]
In most cases this section is not necessary. This section is for hardware
manufacturers (OEMs) that want to customize the user interface.
Bann e r
Values: <text string>
Example Syntax:
Banner = "XYZ Corporation – Windows NT installation"
This key specifies a <text string> to be displayed in the upper left corner of
the computer screen. The text must contain the "Windows NT" sub-string or
else it will be ignored. To specify more than one line, you can separate the
different lines using the * character.
This key can only be specified in the answer file, not in the UDF.
Logo
Values: <file name> [,<resource id>]
Example Syntax:
Logo = Sample.bmp
This key specifies a bitmap to be displayed in the upper right corner of the
screen. If this line has only one field, then it is assumed to a .bmp file located
in the \$OEM$ directory of the distribution share point. However, if two fields
are specified, then the first field is the name of a DLL and the second is a base
10 number that represents the resource ID of the bitmap in the DLL. The DLL
specified should be located in the \$OEM$ directory.
This key can only be specified in the answer file, not in the UDF.
Back g ro un d
Values: <file name> [,<resource id>]
Example Syntax:
Background = back.bmp
This key specifies a background bitmap to be displayed. If this line has only
one field, then it is assumed to a .bmp file located in the $OEM$ directory of
the distribution share point. However, if two fields are specified, then the first
field is the name of a DLL and the second is a base 10 number that represents
the resource ID of the bitmap in the DLL. The DLL specified should be located
in the $OEM$ directory.
This key can only be specified in the answer file, not in the UDF.
[GuiUnattended]
OemSk ip We lc o me
Value: 0 | 1
Example Syntax:
OemSkipWelcome = 1
OEMB la n k A d min Pa ss wo rd
Value: 0 | 1
Example Syntax:
OEMBlankAdminPassword = 1
This key is used to specify whether the user should see the Administrator
Password Wizard page or not. Default behavior is to show the password
page.
This option can be specified in either the answer file or the UDF.
Time Zo ne
Value: <text string>
Example Syntax:
TimeZone = "(GMT-05:00) Eastern Time (US & Canada)"
The TimeZone key determines the time zone of the computer. If the key is
empty, the user is prompted to indicate a time zone.
The list of valid TimeZone strings is as follows:
AdvSe rve rT yp e
Value: SERVERNT | LANMANNT | LANSECNT
AdvServerType = LANMANNT
Detac h e dPro g ra m
Value: <detached program string>
Example Syntax:
DetachedProgram = c:\myprogram.exe
Argu men t s
Value: <arguments string>
[UserData]
FullNa me
Value: <string>
Example Syntax:
FullName = "your name"
The FullName key is used to specify the user’s full name. If the key is
empty or missing, the user is prompted to enter a name.
OrgNa me
Value: <string>
Example Syntax:
OrgName = "your company name"
Compu te r Na me
Value: <string>
Example Syntax:
ComputerName = "MyComputer"
Prod uc tI D
Value: <string>
Example Syntax:
ProductID = "29795-oem-0005995-49469" (this is an OEM type of product
number)
ProductID = "xxx-xxxxxxx " (10 digit number is the retail format)
The ProductId is the CD key on the back of the jewel case that the
Windows NT 4.0 CD came in.
[LicenseFilePrintData]
This section is only valid when installing Windows NT Server.
Auto Mo d e
Values: PERSEAT | PERSERVER
Example Syntax:
AutoMode = PERSEAT
Auto Use r s
Value: <decimal number>
Example Syntax:
AutoUsers = 10
This key is only valid if AutoMode = PERSERVER. The <decimal
number> indicates the number of client licenses purchased for the server
being installed.
This key can only be specified in the answer file, not in the UDF.
[Display]
This section is used to specify display settings for the particular graphics
device being installed. In order for this to work properly, the user must know
what settings are valid for the graphics device under consideration. If the pre-
specified settings are not valid, the user will be prompted to select them.
Configu re A tL o g o n
Value: 0 | 1
Example Syntax:
ConfigureAtLogon = 1
This key is used to specify when the graphics devices are configured −
during setup or after the first logon by an end user.
0 implies configure during setup and 1 indicates that the device should be
configured during the first logon by the user.
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
BitsPe rPe l
Value: <valid bits per pixel>
Example Syntax:
BitsPerPel = 8
This key specifies the <valid bits per pixel> for the graphics device being
installed.
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
Xre so lu tio n
Value: <valid x resolution>
Example Syntax:
Xresolution = 640
This key specifies a <valid x resolution> for the graphics device being
installed.
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
Yre so lu tio n
Value: <valid y resolution>
Example Syntax:
Yresolution = 480
This key specifies a <valid y resolution> for the graphics device being
installed.
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
Vref re sh
Value: <valid refresh rate>
Example Syntax:
Vrefresh = 60
This key specifies a <valid refresh rate> for the graphics device being
installed.
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
Flags
Value: <valid flags>
This key specifies <valid flags> for the graphics device being installed.
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
Auto C o nf irm
Value: 0 | 1
Example Syntax:
AutoConfirm = 1
Example Syntax:
InstallDriver = 1
InfFile
Values: <inf file name 1>, <inf file name 2>, …
This key specifies a list of INF file names for display drivers to be installed.
You can specify only one INF per driver. E.g. s3.inf, matrox.inf, …
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
InfOp tio n
Values: <inf option 1>, <inf option 2>, …
Example Syntax:
InfFile = s3.inf, matrox.inf
InfOption . S3 765, Millenium 3D
See the “Third-Party Video Display Drivers and Setting Display Options”
section in Chapter 2 for further information.
This key can only be specified in the answer file, not in the UDF.
[Modem]
This section header is used to identify whether a modem should be installed or
not. It is used by Remote Access Services (RAS) to install a modem if the
DeviceType = Modem in the list of RAS parameters. This section cannot be
empty if you want to install modems using RAS in unattended mode.
Insta llMo d e m
Value: <modem parameter section>
Example Syntax:
InstallModem = ModemSection
This key defines a section where modem install parameters are defined.
The key must exist in order to install any modems.
This key can only be specified in the answer file, not in the UDF.
Example Syntax:
Com2 = "Practical Peripherals PM288HC II V.34"
The <COM port number> key specifies the COM ports on which modems
are installed. The COM port numbers must match ports configured or to be
configured by the RAS installation.
<Modem description> must match a modem description in a
MDMxxxxx.INF file that corresponds to the modem to be installed. This string
must be enclosed in quotes.
The <Manufacturer>, <Provider> fields are optional fields that identify the
manufacturer and provider of a particular modem in cases where the <modem
description> string is not unique to a particular manufacturer.
To determine the Modem Description use Control Panel\Modem on a
machine that has Windows NT and the modem installed.
You can also locate the Modem Description by searching the %systemroot
%\INF\MDMxxxxx.INF files using keywords like the manufacturer with the
FIND option on the Start Menu. You can also use FINDSTR.EXE, which is a
text string search utility supplied with Windows NT.
This key can only be specified in the answer file, not in the UDF.
[Network]
This section informs setup that Networking should be installed. If empty, the
user will be presented with various error messages. If this section header is
missing, network installation will be skipped.
To find out how to make a network component INF support unattended
installation, see the "Building the UNATTEND.TXT Network Adapters" section
for additional information.
Options in this section can specified in a UDF or UNATTEND.TXT.
Atte nd e d
Value: Yes | No
Example Syntax:
Attended = Yes
Omit this key if you want a hands-free setup. If you set this key to Yes,
setup will prompt the user for Network Setup information.
JoinWo rk g ro u p
Value: <workgroup name>
Example Syntax:
JoinWorkgroup = MyGroup (No spaces in the Workgroup Name)
This key is used to define the workgroup in which the computer will
participate.
JoinD o ma in
Value: <domain name>
Example Syntax:
JoinDomain = MyDomain
This key is used to define the domain in which the computer will participate.
Crea te C o mp u te r A c c o u n t
Value: <username, password>
Example Syntax:
CreateComputerAccount = jimh, pw01
Note: The clear text password is visible to anyone that has access to the
UNATTEND.TXT file and it may be visible in the temporary folder that is
created during setup. For this reason, it is recommended that you do not use
this key. Instead, it is recommended that an administrator setup the Windows
NT Workstation computer accounts in advance or create a new user account
that is restricted to the right to create computer accounts in the domain so that
Domain Administrative privileges are protected.
Insta llD C
Value: <domain name>
Example Syntax:
InstallDC = MyDomain
Detec t A d a p te rs
Value: <detect adapters section> | ""
Example Syntax:
DetectAdapters = Netcards
Insta llA d a p te r s
Value: <install adapters section>
Example Syntax:
InstallAdapters = Intelcards
This key defines a section in which the network adapters to be installed are
listed.
See “Building the UNATTEND.TXT Network Adapters Section” for
additional information.
Insta llPro to c o l s
Value: <protocols section>
Example Syntax:
InstallProtocols = Protocols
This key defines a section in which the network protocols to be installed are
listed.
Insta llSe r vic e s
Value: <services section>
Example Syntax:
InstallServices = Services
This key defines a section in which the network services to be installed are
listed.
Example Syntax:
InstallInternetServer = ISSParams
This key defines a section in which parameters for installing the Internet
Information Server (IIS) are listed. During installation on Windows NT Server,
IIS is installed by default.
Example Syntax:
DoNotInstallInternetServer = Yes
The presence of this key disables the default installation of IIS on Windows
NT Server. The value assigned to it is irrelevant.
Detec t C o u n t
Value: <number of detection attempts>
Example Syntax:
DetectCount = 1
Example Syntax:
LimitTo = IEEPRO
This key points setup to the section that contains descriptions for a
particular network adapter card. The <netcard inf options> for particular cards
can be found in the [Options] section of the corresponding OEMNADxx.INF
files.
See “Building the UNATTEND.TXT Network Adapters” section for additional
information.
Example Syntax:
netcards = IEEPRO
This key points setup to the section that contains descriptions for a
particular network adapter card. The <netcard inf options> for particular cards
can be found in the [Options] section of the corresponding OEMNADxx.INF
files.
See “Building the UNATTEND.TXT Network Adapters” section for additional
information.
Example: [IEEPRO]
This section contains the parameters for a particular network adapter card
whose <netcard inf option> has been specified in the [<Detect Adapters
Section>] or the [<Install Adapters Section>] of the UNATTEND.TXT file.
Options in this section can specified in a UDF or UNATTEND.TXT.
See “Building the UNATTEND.TXT Network Adapters” section for additional
information.
[<Protocols Section>]
This section contains a list of .INF options for network protocols and the
corresponding UNATTEND.TXT file section in which the parameters for the
particular protocol are list.
Options in this section can specified in a UDF or UNATTEND.TXT.
NBF
Value: <Netbeui Parameters>
Example Syntax:
NBF = NetbeuiParams
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [NetbeuiParams]. This section must exist
whether the section requires values or not. NetBEUI does not have any
values because there are no parameters to configure.
NWL NKI PX
Value: <IPX Parameters>
Example Syntax:
NWLINK = IPXParams
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [IPXParams]. This section must exist
whether the section requires values or not. IPX does not have any values
because there are no parameters to configure.
TC
Value: <Tcpip Parameters>
Example Syntax:
TC = TCPParams
Example Syntax:
DCL = DLCParams
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [DLCParams]. This section must exist
whether the section requires values or not. DLC does not have any values
because there are no parameters to configure.
RASPPTP
Value: <RASPPTP Parameters>
Example Syntax:
RASPPTP = RASPPTPParams
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [RASPPTPParams]. This section must
exist whether the section requires values or not. Point-to-Point Protocol does
not have any values because there are no parameters to configure.
STR EA MS
Value: <STREAMS Parameters>
Example Syntax:
STREAMS = STREAMSParams
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [STREAMSParams]. This section must
exist whether the section requires values or not. Streams does not have any
values because there are no parameters to configure.
[<NetBeui Parameters>]
This parameter is left empty since NetBEUI does not require any extra
parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<IPX Parameters>]
This parameter is left empty since IPX does not require any extra parameters
to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<Tcpip Parameters>]
TCP/IP parameters only support the static IP configuration for a single
adapter. If configuring a multi-homed system DHCP has to be used for a
keyless install. If static addressing is used the second adapter has to manually
configured during setup.
Options in this section can specified in a UDF or UNATTEND.TXT.
DHC P
Value: Yes | No
Example Syntax:
DHCP = Yes
Scop eI D
Value: <scope ID>
Example Syntax:
ScopeID = ScopeA
IPAddress
Value: <Ip address>
Example Syntax:
IPAddress = 192.124.254.2
Subnet
Value: <subnet address>
Example Syntax:
Subnet = 255.255.255.0
Specifies the subnet mask address.
Gateway
Value: <gateway address>
Example Syntax:
Gateway = 192.124.254.3
DNSServer
Value: <IP Addresses>
Example Syntax:
DNSServer = 192.124.254.4
WINSPrimary
Value: <IP Address>
Example Syntax:
WINSPrimary = 192.135.144.5
WINSSecondary
Value: <IP address>
Example Syntax:
WINSSecondary = 192.135.144.6
DNSName
Value: <DNS domain name>
Example Syntax:
DNSName = evv.mjn.bms.com
[<DLC Parameters>]
This parameter is left empty because DLC does not require any extra
parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<RASPPTP Parameters>]
This parameter is left empty because Point-to-Point Protocol does not require
any extra parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<STREAMS Parameters>]
This parameter is left empty because Streams does not require additional
parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<Services Section>]
SNMP
Value: <Snmp Parameters>
RAS
Value: <RAS Parameters>
Example Syntax:
RAS = RasParams
When installing RAS using the UI, a file named SERIAL.INI is created. This
file will not be created during the installation of RAS using Windows NT setup
script. If you are using SYSDIFF, the SERIAL.INI file can be added to the
$OEM$\$$\SYSTEM32\RAS directory on your distribution server.
See Chapter 1, "Getting Started" for more information on the $OEM$
directory. File should contain a semicolon ";" at the very least to make the file
greater than 1 byte.
NWWKSTA
Value: <NetWare Client Parameters>
Example Syntax:
NWWKSTA = NWParams
NETMON
Value: <NetMon Parameters>
Example Syntax:
NETMON = NETMONParams
This will install the Network Monitor and agent provided with Windows NT
4.0.
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [NETMONParams]. This section must exist
whether the section requires values or not. Network Monitor does not have
any values because there are no parameters to configure.
STC PIP
Value: <STCPIP Parameters>
Example Syntax:
STCPIP = STCPIPParams
SAP
Value: <SAP Parameters>
Example Syntax:
SAP = SAPParams
TCPPR I NT
Value: <TCPPRINT Parameters>
Example Syntax:
TCPPRINT = TCPPRINTParams
DHC P
Value: <DHCP Parameters>
Example Syntax:
DHCP = DHCPParams
This will install DHCP Server provided with Windows NT 4.0 Server only.
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [DHCPParams]. This section must exist
whether the section requires values or not. DHCP does not have any values
because there are no parameters to configure.
DNS
Value: <DNS Parameters>
Example Syntax:
DNS = DNSParams
This will install DNS Server provided with Windows NT 4.0 Server only.
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [DNSParams]. This section must exist
whether the section requires values or not. DNS does not have any values
because there are no parameters to configure.
WINS
Value: <WINS Parameters>
Example Syntax:
WINS = WINSParams
Points to <WINS Parameters>
This will install WINS Server provided with Windows NT 4.0 Server only.
Note: You must define a corresponding section for this value or setup will
fail. In this example the section is [WINSParams]. This section must exist
whether the section requires values or not. WINS does not have any values
because there are no parameters to configure.
Example Syntax:
!DefaultLocation = NWServer
Example of NDS:
!DefaultLocation = "*ABC\MARKETING.US"
The !DefaultLocation key identifies the default logon server for the
NetWare client.
Example Syntax:
!DefaultScriptOptions = 1
[<Snmp Parameters>]
Options in this section can specified in a UDF or UNATTEND.TXT.
Example Syntax:
Accept_CommuntityName = Name1,Name2,Name3
This key is used to specify a maximum of three community names that the
computer, on which the SNMP service is running, accept traps from. The
<community names> are separated by commas.
Example Syntax:
Send_Authentication = Yes
Any_Ho st
Value: Yes | No
This key specifies whether the computer, on which the SNMP service is
being installed, should accept SNMP packets from any host or not.
Limit_Ho s t
Values: <host names>
Example Syntax:
Limit_Host = name1,name2,name3
Example Syntax:
Community_Name = name
Trap s
Values: <IP addresses> | <IPX addresses>
Example Syntax:
Traps = 192.124.134.5
Conta c t_Na me
Value: <name>
Example Syntax:
Contact_Name = name
Loca tio n
Value: <computer location>
Example Syntax:
Location = Building2
Se rvic e
Values: Physical, Applications, Datalink, Internet, End-to-End
Example Syntax:
Service = Physical,Applications,Datalink,Internet,End-to-End
Any combination of the five SNMP services listed here can be specified as
values. They must, however, be separated by commas.
Note: SNMPTRAP.EXE service is set to manual start. A registry script can
be used to set the service to automatic. See Chapter 5, “Customizing
Windows NT” to learn about modifying the registry during setup.
[<RasParameters>]
Po rtSe c tio n s
Values: <port section name>
Example Syntax:
PortSections = ComPorts
This key is used to define a port section name. Multiple port section names
can be specified, but they must be separated by commas ",". See the [<port
section names>] definition below.
Dia lo u tPro t o c o ls
Value: TCP/IP | IPX | NETBEUI | ALL
Example Syntax:
DialoutProtocols = ALL
ALL implies all installed protocols.
The remaining parameters in this <RasParameters> section only apply to
RAS Server installation.
Dia linPro to c o ls
Value: TCP/IP | IPX | NETBEUI | ALL
Example Syntax:
DialinProtocols = ALL
Example Syntax:
NetBEUIClientAccess =ThisComputer
Default is Network.
TcpIp C lie n tA c c e s s
Value: Network | ThisComputer
Example: Syntax:
TcpIpClientAccess = ThisComputer
Default is Network.
Use D HC P
Value: YES | NO
Example Syntax:
UseDHCP = No
Default is Yes.
Sta tic A d d re s sB e g in
Value: <IP_address>
Example Syntax:
StaticAddressBegin = XXX.XXX.XXX.XXX (where X is the ip address
range)
Example Syntax:
StaticAddressEnd = XXX.XXX.XXX.XXX (where X is the ip address range)
Exc lu de A d d re s s
Value: <IP_address1 - IP_address2>
Example Syntax:
ExcludeAddress = XXX.XXX.XXX.XXX -YYY.YYY.YYY.YYY (where X and
Y are IP ranges to exclude)
Clien tC a n R e q u e stI PA d d re s s
Value: YES | NO
Example Syntax:
ClientCanRequestIPAddress = Yes
Default is No.
Ipx Clie n t A c c e s s
Value: Network | ThisComputer
Example Syntax:
IpxClientAccess = ThisComputer
Default is Network.
Auto ma tic Ne t wo rk Nu mb e r s
Value: YES | NO
Example Syntax:
AutomaticNetworkNumbers = No
Default is YES.
Netwo rk Nu mb e rF r o m
Value: <IPX_net_number>
Example Syntax:
NetworkNumberFrom = number (where number is the hex number defined
below)
Assign Sa me Ne t wo rk Nu mb e r
Value: YES | NO
Example Syntax:
AssignSameNetworkNumber = No
Default is YES.
Clien ts C a n R e q u e stI p x No d e Nu mb e r
Value: YES | NO
Example Syntax:
ClientsCanRequestIpxNodeNumber = Yes
Default is NO.
Po rtNa me
Value: COM1 | COM2 | COM3-COM25
Example Syntax:
PortName = COM2
Devic e Typ e
Value: Modem
Example Syntax:
DeviceType = Modem
This key indicates the type of device RAS should install. Today, the only
available device type is a modem.
Po rtUsa g e
Value: DialOut | DialIn | DialInOut
Example Syntax:
PortUsage = DialInOut
The PortUsage key defines the dialing properties for the ports being
configured.
[<NETMON Parameters>]
This parameter is left empty because Network Monitor and the agent does not
require any extra parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<STCPIP Parameters>]
This parameter is left empty because simple TC/PIP does not require any
extra parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<SAP Parameters>]
This parameter is left empty because SAP does not require any extra
parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<TCPPRINT Parameters>]
This parameter is left empty because TCP/IP Printing does not require any
extra parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<DHCP Parameters>]
This parameter is left empty because DHCP does not require any extra
parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<DNS Parameters>]
This parameter is left empty because DNS does not require any extra
parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
[<WINS Parameters>]
This parameter is left empty because WINS does not require any extra
parameters to install.
Options in this section can specified in a UDF or UNATTEND.TXT.
Example Syntax:
InstallINETSTP = 1
Insta llA D MI N
Value: 0 | 1
Example Syntax:
InstallADMIN = 1
Insta llFTP
Value: 0 | 1
Example Syntax:
InstallFTP = 1
FTPRo o t
Value: <ftp root directory>
Example Syntax:
FTPRoot = C:\FTP
Insta llWWW
Value: 0 | 1
Example Syntax:
InstallWWW = 1
WWWR oo t
Value: <www root directory>
Example Syntax:
WWWRoot = c:\WWW
Insta llGOPHER
Value: 0 | 1
Example Syntax:
InstallGOPHER = 1
Goph e rR o o t
Value: <gopher root directory>
Example Syntax:
GopherRoot = C:\GRoot
Insta llD ir
Value: <internet services install directory>
Example Syntax:
InstallDir = C:\IServ
Insta llW3 SA MP
Value: 0 | 1
Example Syntax:
InstallW3SAMP = 1
Insta llHTML A
Value: 0 | 1
Specifies whether the HTLM form of the Internet Service Manager will be
installed.
GuestA c c o u n tNa me
Value: <name>
Example Syntax:
GuestAccountName = name
This key is used to define the anonymous user name used in the WWW,
FTP, and GOPHER services.
GuestA c c o u n tPa s sw o r d
Value: <password string>
Example Syntax:
GuestAccountPassword = password
This is used to create the guest account password. If it is not defined, IIS
will create a random string for the guest account.
[Unattended]
ConfirmHardware = no
NtUpgrade = no
Win31Upgrade = no
TargetPath = WINNT
OemPreinstall = Yes
FileSystem= ConvertNTFS
OemSkipEula = yes
NoWaitAfterGUIMode = 1
[GuiUnattended]
OemSkipWelcome = 1
OemBlankAdminPassword = 1
TimeZone = "(GMT-06:00) Central Time (US & Canada)"
[UserData]
FullName = "John Doe"
OrgName = "Widgets-Are-Us"
ComputerName = “Computer1”
ProductId = "123-4567890"
[Display]
ConfigureAtLogon = 0
BitsPerPel = 8
XResolution = 640
YResolution = 480
VRefresh = 60
[Network]
InstallServices = ServicesList
InstallAdapters = AdaptersList
InstallProtocols = Protocols
JoinDomain = SEATTLE
CreateComputerAccount = jimh, pw01
[AdaptersList]
EE16 = EE16Params
[EE16Params]
BusType = 1
Transceiver = 3
BusNumber = 0
IoChannelReady = 2
IoBaseAddress = 784
InterruptNumber = 10
[ServicesList]
NWWKSTA = NWCParams
NETMON = InstallNetMon
STCPIP = InstallSimpleTCP
TCPPRINT = InstallTCPPrint
[NWCParams]
!DefaultLocation = NWServer
!DefaultScriptOptions = 3
[InstallNetMon]
[InstallSimpleTCP]
[InstallTCPPrint]
[Protocols]
NWLNKIPX = NWLinkParams
TC = TCPIP
NBF = NetBeuiParams
DLC = DLCParams
[NWLinkParams]
[TCPIP]
DHCP = no
Gateway = 165.89.91.3
Subnet = 255.255.255.0
WINSPrimary = 165.89.91.239
WINSSecondary = 165.89.164.218
DNSName = msd.msn.ehq.com
DNSServer = 165.89.90.228, 165.89.91.241, 165.89.1.118
[NetBeuiParams]
[DLCParams]
Sample 2
This sample UNATTEND.TXT file installs Windows NT Workstation 4.0 and
provides examples of all of the options you can specify when OemPreinstall =
Yes. This UNATTEND.TXT file would be used if you are installing Windows
NT Workstation 4.0 on identically configured systems – for example if you are
a hardware manufacturer you would specify all of the devices in the computer.
In most cases you would not know this level of detail about the installed base
of your organization. If you do not know this level of detail, it is recommended
that you omit those sections so Window NT setup will detect the devices
installed in your systems. These options should only be used if a device is not
detected by Window NT 4.0 setup.
[Unattended]
ConfirmHardware = no
NtUpgrade = no
Win31Upgrade = no
TargetPath = winnt
OverwriteOemFilesOnUpgrade = no
OemPreinstall = yes
ComputerType = "Standard PC - OEM","OEM"
KeyboardLayout = "US-International"
FileSystem = LeaveAlone
ExtendOEMPartition = 0
NoWaitAfterTextmode = 1
NoWaitAfterGuiMode = 1
[MassStorageDrivers]
"IDE CD-ROM(ATAPI 1.2)/Dual-channel PCI IDE Controller" =
"Retail"
"New OEM SCSI for Adaptec 154x/164x" = "OEM"
[DisplayDrivers]
"OEM Display Driver 1" = OEM
[KeyboardDrivers]
"XT, AT, or Enhanced Keyboard (83-104 keys)" = RETAIL
[PointingDeviceDrivers]
"Microsoft Mouse Port Mouse (includes BallPoint)" = OEM
[OEMBootFiles]
hal.dll
hal486c.dll
elliott.sys
TXTSETUP.OEM
[OEM_Ads]
Banner = "DEC’s Windows NT Setup"
Background = test.bmp
[GuiUnattended]
AdvServerType = LANMANNT
TimeZone = "(GMT-08:00) Pacific Time (US & Canada); Tijuana"
[UserData]
FullName = "User Name"
OrgName = "Microsoft"
ComputerName = OEM_Computer
ProductId = "29795-oem-0005995-49469"
[LicenseFilePrintData]
AutoMode = PerSeat
[Display]
ConfigureAtLogon = 0
BitsPerPel = 32
Xresolution = 640
Yresolution = 480
Vrefresh = 60
AutoConfirm = 1
[Network]
DetectAdapters = DetectParms
InstallProtocols = SelectedProtocolsList
InstallServices = SelectedServicesList
InstallDC = OEM_Domain
[DetectParms]
DetectCount = 1
LimitTo = ELNK3ISA509
ELNK3ISA509 = ENKIIIParams
[ENKIIIParams]
Transceiver = 0
InterruptNumber = 7
IoBaseAddress = 768
[SelectedProtocolsList]
TC = TCPIPParms
NWLNKIPX = IPXParms
NBF = NetBeuiParms
[TCPIPParms]
DHCP = yes
[NetBeuiParms]
[IPXParms]
[SelectedServicesList]
RAS = RemoteAccessParameters
[RemoteAccessParameters]
PortSections = DialoutSection
DialoutProtocols = TCP/IP
[Modem]
InstallModem = ModemSection
[DialoutSection]
PortName = COM2
DeviceType = Modem
PortUsage = DialOut
[ModemSection]
Com2 = "Sportster 28800-33600 External"
Example 1
This example relies on Windows NT setup to detect the network adapters.
[Network]
DetectAdapters = DetectAdaptersSection
[DetectAdaptersSection]
DetectCount = 2
LimitTo = DECETHERWORKSTURBO, EEl6
;
; The parameter section is not required if the parameters
; detected are desired. If a particular parameter
; needs to be changed, then use the adapter parameters
; option.
;
DECETHERWORKSTURBO = DECETHERWORKSTURBOParamSection
EEl6 = EEl6ParamSection
[DECETHERWORKSTURBOParamSection]
InterruptNumber = 5
IOBaseAddress = 1
MemoryMappedBaseAddress = 851968
BusType = 1
BusNumber = 0
[EEl6ParamSection]
InterruptNumber = 5
IOChannelReady = 0
Transceiver = 0
IOBaseAddress = 768
BusType = 1
BusNumber = 0
The use of the DectectAdapters provides the ability to have one answer file for
multiple network adapters.
Example 2
If you find that the adapter is not auto-detected during a manual installation of
Microsoft Windows NT, the Install Adapters options can be used to
automatically specify the installation of network adapters. In examples two
and three below, you will find the information required to specify a network
adapter.
[Network]
InstallAdapters = SelectedAdaptersSection
[SelectedAdaptersSection]
EEl6 = EEl6ParamSection
[EEl6ParamSection]
InterruptNumber = 5
IOChannelReady = 0
Transceiver = 0
IOBaseAddress = 768
BusType = 1
BusNumber = 0
Example 3
[Network]
InstallAdapters = SelectedAdaptersSection
[SelectedAdaptersSection]
DECETHERWORKSTURBO = DECETHERWORKSTURBOParamSection
[DECETHERWORKSTURBOParamSection]
InterruptNumber = 5
IOBaseAddress = 1
MemoryMappedBaseAddress = 851968
BusType = 1
BusNumber = 0
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\1
ProductName: REG_SZ:<adapter_string>
ServiceName: REG_SZ:<adapter_string>
All numeric values found in the parameters key for the adapter have been
converted from hex values to decimal values for the unattend file. The names
of the parameters and non-numeric values can be directly translated to the
unattend file.
To find out which mode setup is running in, your .INF file must contain code
similar to the following:
If setup is running in Unattended mode, then you must skip the INF commands
that brings up UI, dialogs, etc. These commands are usually of the form:
read-syms FileDependentDlg$(!STF_LANGUAGE)
ui start "InputDlg"
Once the network component INF has verified that setup is running in
unattended mode, it then can use the STF_UATTENDED symbol to get the
unattended filename. The STF_UATTENDED_SECTION symbol will be set
by setup so the .INF code can read it as needed.
This will cause the parameters listed in the UNATTEND.TXT file to be written
to the registry.
Note that the code above must be implemented after the default network
adapter parameters have been written to the registry. See the
OEMNADE2.INF file included in Windows NT 4.0.
Notice the goto skipoptions line above. The goto line must be verified for a
subroutine called skipoptions. If the skipoptions subroutine does not exist,
examine the code of adapteroptions to locate the appropriate goto routine and
substitute.
The next part of the automation code is added at to the end of the "registry
parameters add" section which is usually part of the writeparameters section.
The following code reads the parameters section of the unattend file and
writes the values to the registry.
Having the drivers on the local driver will also simplify future troubleshooting if
the adapter drivers have to be reinstalled.
[Network]
InstallAdapters = AdaptersList
[AdaptersList]
OEMAdapter = AdapterParameters, C:\MYDRIVERS
[AdapterParameters]
"The current netcard parameters are not verifiably correct and may result
in usage problems or system failure. Use them anyway?"
The pop-up message is a warning that the parameters entered for the
adapter do not match the current physical settings of the card. There are cases
when the pop-up message does appear when the settings can not be verified
despite the correct values.
During an UNATTENDED installation, the verification of the adapter
parameters can be bypassed.
The following example will hold true for the majority of Network Adapter
OEMSETUP.INF files provided by Microsoft or Third-Party Vendors. This
option should only be used if the parameters for the network adapter have
been tested to ensure functionality. To locate the sections to modify, quickly
do a search for VERIFY_WARNING and compare it to the example provided.
Source=\I386
Options Name Literal String INF File
ELNKMC 3Com 3C523 Etherlink/MC Adapter oemnadem.inf
ELNKII * 3Com Etherlink II Adapter (also II/16 and II/16 oemnade2.inf
TP)
ELNK3EISA 3Com Etherlink III EISA Adapter oemnadee.inf
ELNK3ISA509 * 3Com Etherlink III ISA/PCMCIA Adapter oemnade3.inf
ELNK3MCA 3Com Etherlink III MCA Adapter oemnaden.inf
ELNK16 * 3Com Etherlink16/EtherLink16 TP Adapter oemnade1.inf
AM1500T * Advanced Micro Devices AM2100/AM1500T oemnadam.inf
Adapter
AMDPCI AMD PCNET Family Ethernet Adapter oemnadap.inf
MAPLE COMPAQ 32-Bit DualSpeed Token-Ring oemnadnf.inf
Controller
NETFLX COMPAQ NetFlex/NetFlex-2 ENET-TR oemnadnf.inf
Controller
BONSAI COMPAQ NetFlex-2 DualPort ENET Controller oemnadnf.inf
RODAN COMPAQ NetFlex-2 DualPort TR Controller oemnadnf.inf
DURANGO COMPAQ NetFlex-2 TR Controller oemnadnf.inf
LT200 * COPS/DayStar Digital LocalTalk Adapter oemnadlt.inf
LT200MC COPS/DayStar Digital LocalTalk Adapter (MCA) oemnadlm.inf
DE425 DEC DE425 EtherWORKS Turbo EISA Adapter oemnaddt.inf
DE434 DEC DE434 EtherWORKS Turbo PCI TP oemnaddt.inf
Adapter
DE435 DEC DE435 EtherWORKS Turbo PCI Adapter oemnaddt.inf
DE450 DEC DE450 EtherWORKS Turbo PCI Adapter oemnaddt.inf
DE500 DEC DE500 Fast Ethernet PCI Adapter oemnaddt.inf
DEC100 * DEC EtherWORKS LC Adapter oemnadd1.inf
DECETHERWORKSTURBO * DEC EtherWORKS Turbo Adapter oemnadd2.inf
DEC422 DEC EtherWORKS Turbo EISA Adapter oemnadd4.inf
DEC101 * DEC EtherWORKS Turbo/LC Adapter oemnadd1.inf
DEC300 DEC FDDIcontroller/EISA oemnadd3.inf
DEFPA * DEC FDDIcontroller/PCI oemnaddf.inf
MULTIA DEC multia's Ethernet Controller oemnaddt.inf
DC21040 DEC PCI Ethernet DECchip 21040 oemnaddt.inf
DC21041 DEC PCI Ethernet DECchip 21041 oemnaddt.inf
DC21140 DEC PCI Fast Ethernet DECchip 21140 oemnaddt.inf
DC21142 DEC PCI Fast Ethernet DECchip 21142 oemnaddt.inf
DECSTAT * DEC Turbo Channel Ethernet Adapter oemnadde.inf
DATAFIREST Digi DataFire - ISA1S/T Adapter oemnaddi.inf
DATAFIREU Digi DataFire - ISA1U Adapter oemnaddi.inf
DATAFIRE4ST Digi DataFire - ISA4S/T Adapter oemnaddi.inf
PCIMACISA Digi PCIMAC - ISA Adapter oemnaddi.inf
PCIMACMC Digi PCIMAC - MC Adapter oemnaddi.inf
PCIMAC4 Digi PCIMAC/4 Adapter oemnaddi.inf
NE2000IBMCOMPAT * IBM Ethernet PCMCIA and Compatible Adapter oemnadni.inf
IBMTOK* IBM Token Ring (ISA/PCMCIA) Adapter oemnadtk.inf
IBMTOKMC * IBM Token Ring 4/16 Adapter /A oemnadtm.inf
IBMTOKA * IBM Token Ring Adapter /A oemnadtm.inf
IBMTOK2ISA * IBM Token-Ring Network 16/4 ISA Adapter II oemnadt2.inf
EE16 * Intel Ether Express 16 LAN Adapter oemnadin.inf
EE16MC Intel Ether Express MCA Adapter oemnadim.inf
IEEPRO * Intel EtherExpress PRO Ethernet Adapter oemnadep.inf
MSMDGMPSM16 * Madge Smart 16 Ringnode oemnadma.inf
MSMDGMPATP * Madge Smart 16/4 AT Plus Ringnode oemnadma.inf
MSMDGMPISA * Madge Smart 16/4 AT Ringnode oemnadma.inf
MSMDGMPEISA * Madge Smart 16/4 EISA Ringnode oemnadma.inf
MSMDGMPISACP * Madge Smart 16/4 ISA Client Plus Ringnode oemnadma.inf
MSMDGMPPNP * Madge Smart 16/4 ISA Client PnP Ringnode oemnadma.inf
MSMDGMPISAC * Madge Smart 16/4 ISA Client Ringnode oemnadma.inf
MSMDGMPMCA * Madge Smart 16/4 MC Ringnode oemnadma.inf
MSMDGMPMC32 * Madge Smart 16/4 MC32 Ringnode oemnadma.inf
MSMDGMPPC * Madge Smart 16/4 PC Ringnode oemnadma.inf
MSMDGMPPCI * Madge Smart 16/4 PCI Ringnode oemnadma.inf
MSMDGMPPCIBM * Madge Smart 16/4 PCI Ringnode (BM) oemnadma.inf
MSMDGMPPCMCIA * Madge Smart 16/4 PCMCIA Ringnode oemnadma.inf
MICRODYNEPCMCIA * Microdyne NE4000 PCMCIA Adapter oemnadni.inf
LOOP * MS Loopback Adapter oemnadlb.inf
NE2000MCA * NE/2 and Compatible MC Adapter oemnadnm.inf
NPEISA Network Peripherals FDDI EISA oemnadnp.inf
NPMCA Network Peripherals FDDI MCA oemnadfd.inf
NE1000 * Novell NE1000 Adapter oemnadn1.inf
NE2000 * Novell NE2000 Compatible Adapter oemnadn2.inf
NE2000SOCKETEA * Novell NE2000 Socket EA Adapter oemnadn2.inf
NE3200 Novell NE3200 EISA Adapter oemnadne.inf
NE4000PCMCIA * Novell NE4000 PCMCIA Adapter oemnadni.inf
AM1500T1 * Novell/Anthem NE1500T Adapter oemnadam.inf
AM1500T2 * Novell/Anthem NE2100 Adapter oemnadam.inf
P189X * ProNET-4/16 p189X NIC oemnadpm.inf
P1390 * Proteon p139X Adapter oemnadp3.inf
P1990 * Proteon p199X Adapter oemnadp9.inf
WD8003EA SMC (WD) 8003E /A oemnadwm.inf
WD8003WA SMC (WD) 8003W /A oemnadwm.inf
WD8013EPA SMC (WD) 8013EP /A oemnadwm.inf
WD8013WPA SMC (WD) 8013WP /A oemnadwm.inf
SMCISA * SMC (WD) EtherCard oemnadwd.inf
UBPC * Ungermann-Bass Ethernet NIUpc Adapter oemnadub.inf
UBPCEOTP * Ungermann-Bass Ethernet NIUpc/EOTP Adapter oemnadub.inf
UBPS Ungermann-Bass Ethernet NIUps Adapter oemnadum.inf
Source=\I386\DRIVLIB.NIC
Options Name Literal String
3C508 3Com 3C508 ISA 16-bit Ethernet Adapter
ELINK527 3Com 3C527 Etherlink/MC 32 Adapter
3C592 * 3Com EtherLink III EISA Bus-Master Adapter (3C592)
3C590 * 3Com EtherLink III PCI Bus-Master Adapter (3C590)
3C597 * 3Com Fast EtherLink EISA 10/100BASE-T Adapter (3C597)
3C595 * 3Com Fast EtherLink PCI 10/100BASE-T Adapter (3C595)
3C905 * 3Com Fast EtherLink XL Adapter (3C905)
FLNK 3Com FDDILink EISA LAN Adapter
TLNK3EISA 3Com TokenLink III ISA Adapter in EISA mode (3C619B)
ACCNT * Accton EN166x MPX2 PnP Ethernet Adapter
ACCTONEN2216 * Accton EN2216 Ethernet PCMCIA Adapter
ALANE0 * Adaptec ATM LAN Emulation Adapter
AT1700 Allied Telesyn AT1700 Ethernet Adapter
AT1700 Allied Telesyn AT1720 Ethernet Adapter
A2560PCI Allied Telesyn AT-2560 Series PCI/100 Ethernet Adapter
ANDTOK Andrew ISA IIA Token Ring Adapter
E21XX Cabletron E21XX Ethernet Adapter
E22XX Cabletron E22XX Ethernet Adapter
F30XX Cabletron F30XX FDDI Adapter
F70XX Cabletron F70XX FDDI Adapter
T20XX Cabletron T20XX Token-Ring Adapter
EMPCI Cogent eMASTER+ PCI Adapter
CPQNDIS Compaq Ethernet LAN Card
NetFlex3 Compaq NetFlex-3 Controller
$enet Compex ENET16 P/PNP Ethernet Adapter
IRMAtrac DCA IRMAtrac Token-Ring Adapter
DigiSyncFR Digi SyncPort Frame Relay Adapter
DigiSyncX25 Digi SyncPort X.25 Adapter
DLINKDE220 * D-Link DE-220 ISA Ethernet Adapter
DLINKDE650 * D-Link DE-650 Ethernet PCMCIA Adapter
Diehl_DIVA Eicon DIVA ISDN ISA Adapter
Diehl_DIVAPCM Eicon DIVA PCMCIA ISDN Adapter
Diehl_DIVAPRO Eicon DIVA PRO ISDN Adapter with Advanced DSP
Diehl_S2M Eicon Primary Rate ISDN Adapter
Diehl_QUADRO Eicon QUADRO ISDN Adapter
Diehl_SCOM Eicon SCOM ISDN Adapter
Diehl_WAN Eicon Virtual WAN-Miniport ISDN Interface
ECCARDS Eicon WAN Adapters
HPTXPCI HP 10/100TX PCI Ethernet Adapter
HP27245 HP 27245A PC LAN Adapter/8 TP
HPMCA HP 27246A MC LAN Adapter/16 TP
HP27247A HP 27247A PC LAN Adapter/16 TP
HP27247B HP 27247B PC LAN Adapter/16 TP Plus
HP27250 HP 27250 PC LAN Adapter/8 TL
HP27252A HP 27252A PC LAN Adapter/16 TL Plus
J2573A HP DeskDirect (J2573A) 10/100 ISA LAN Adapter
J2577A HP DeskDirect (J2577A) 10/100 EISA LAN Adapter
J2585A HP DeskDirect (J2585A) 10/100 PCI LAN Adapter
J2585B HP DeskDirect (J2585B) 10/100 PCI LAN Adapter
J2970A HP DeskDirect (J2970A) 10BaseT/2 PCI LAN Adapter
J2973A HP DeskDirect (J2973A) 10BaseT PCI LAN Adapter
IBMFEPCI IBM 100/10 PCI Ethernet Adapter
IBMTOK4 * IBM Auto 16/4 Token-Ring ISA Adapter
STREAMER IBM Auto LANStreamer PCI Adapter
IBMISAETHER * IBM ISA Ethernet Adapter
IBMENIIN IBM LAN Adapter/A for Ethernet
QUADENET IBM PeerMaster Server Adapter
STREAMER IBM Streamer Family Adapters
ETH16I ICL EtherTeam16i Adapter
ETH32 ICL EtherTeam32 Adapter
E100BPCI * Intel 82557-based 10/100 Ethernet PCI Adapter
E10PCI Intel EtherExpress PRO/10 PCI LAN Adapter
EPRONT Intel EtherExpress PRO/10+ ISA Adapter
E10PPCI * Intel EtherExpress PRO/10+ PCI Adapter
E100BEXP * Intel EtherExpress PRO/100B PCI Adapter
FL32 Intel Flash32 EISA LAN Adapter
TKXP16 Intel TokenExpress 16/4 Adapter
TKXP32 Intel TokenExpress Server Adapter
LINKSYSE16 * LinkSys Ether16 LAN Card
LINKSYSEC2T * LinkSys EthernetCard PCMCIA
LEC * Madge ATM LAN Emulation Client
BLUTOK * Madge Blue+ Token Ring Adapter
CC10BT Megahertz CC10BT/2 Ethernet PCMCIA Adapter
XJEM3288 * Megahertz XJEM3288 Ethernet+Modem PCMCIA Adapter
NE100PCI Microdyne NE10/100 PCI Adapter
MGSL MicroGate SyncLink Internet Adapter
NSCNE4100 * National Semiconductor InfoMover NE4100
NCRTOK NCR StarLAN 16/4 Token-Ring Adapter
NPAT2 Network Peripherals FDDI - AT2
NPAT3 Network Peripherals FDDI - AT3
NCPF Network Peripherals NuCard PCI FDDI
NiwRAS Niwot Networks NiwRAS Adapter
GOCARD Olicom Ethernet GoCard
OCE2XM Olicom Ethernet ISA/IV Adapter
O100PCI Olicom Ethernet PCI 10/100 Adapter
OCE4XMP10 * Olicom Ethernet PCI/II 10 Adapter
OCE4XMP100 * Olicom Ethernet PCI/II 10/100 Adapter
GOCARDMF Olicom GoCard ET/Modem 288
PCMCIA * Olicom GoCard TR 16/4
COMBO * Olicom GoCard TR/Modem 144
OCTK16 * Olicom Token Ring 16/4 Adapter
OCTK32 Olicom Token Ring Server Adapter
OTCJODNT Ositech Jack of Diamonds Trumpcard
ES3210 Racal Interlan ES3210 EISA Ethernet Adapter
NI6510 Racal InterLan XLerator/EB/NI6510 Adapters
RTL8029 Realtek RTL8029 PCI Adapter
RnsFDDI RNS 2200 PCI FDDI LAN Controller
SMC8216 SMC 8216 EtherCard Elite16 Ultra
SMC8416 SMC 8416 EtherEZ
SMC8432 SMC 8432 EtherPower PCI Ethernet Adapter
SMC9232 SMC 9232 Fast Ethernet Adapter
SMC9332 SMC 9332 EtherPower10/100 PCI Fast Ethernet Adapter
SMC8232 SMC EISA EtherCard Elite32 Ultra Adapter
ACLSER Star Gate ACL/Avanstar Family Adapter
SKTOKNT SysKonnect SK-NET 4/16+ Token Ring Adapter
SKFENT SysKonnect SK-NET EISA FDDI Adapter
SKFPNT SysKonnect SK-NET FDDI PCI Adapter
SKETHNT SysKonnect SK-NET G16 Ethernet Adapters
SKETHNT SysKonnect SK-NET G32+ Ethernet Adapters
SKFINT SysKonnect SK-NET ISA FDDI Adapter
SKFMNT SysKonnect SK-NET MCA FDDI Adapter
SKTOKNT_PCI SysKonnect SK-NET Token Ring PCI Adapter
SKTOKNT SysKonnect SK-NET TR4/16+ Token Ring Adapter
TC$4045e Thomas-Conrad TC4045 Token Ring Adapter
TC$4046e Thomas-Conrad TC4046 Token Ring Adapter
AL56 U.S. Robotics Allegra 56 Frame Relay
ALT1 U.S. Robotics Allegra T1 Frame Relay
USRBRI U.S. Robotics Sportster ISDN Adapter
WAVELAN_ISA WaveLAN ISA Bus Adapter
WAVELAN_MCA WaveLAN MCA Bus Adapter
CENDIS3 Xircom CreditCard Ethernet
CE2XPS Xircom CreditCard Ethernet IIps
CEM28XPS Xircom CreditCard Ethernet+Modem 28.8
CM2NDIS3 Xircom CreditCard Ethernet+Modem II
CTNDNT Xircom CreditCard Token Ring
XCSPE2 Xircom Pocket Ethernet II
XCSPE3 Xircom Pocket Ethernet III
[PointingDeviceDrivers]
"Microsoft Mouse Port Mouse (includes BallPoint)" = "RETAIL"
[MassStorageDrivers]
"Symbios Logic C810 PCI SCSI Host Adapter" = "RETAIL"
[KeyBoardDrivers]
"XT, AT, or Enhanced Keyboard (83-104 keys)" = "RETAIL"
[Display]
InfFile = "chips.inf"
InfOption = "Chips Video Accelerator(64300 64310 65545 65548
65550)"
InstallDriver = 1
[OEMAds]
[OEMBootFiles]
TXTSETUP.OEM
OEMHAL.DLL
OEMSCSI.SYS
Computer Types
Example:
[Unattended]
ComputerType = "Standard PC","RETAIL"
Retail Options:
"AST Manhattan SMP"
"Compaq SystemPro Multiprocessor or 100% Compatible","RETAIL"
"Corollary C-bus Architecture","RETAIL"
"Corollary C-bus Micro Channel Architecture","RETAIL"
"IBM PS/2 or other Micro Channel-based PC","RETAIL"
"MPS Uniprocessor PC","RETAIL"
"MPS Multiprocessor PC","RETAIL"
"MPS Multiprocessor Micro Channel PC","RETAIL"
"NCR System 3000 Model 3360/3450/3550","RETAIL"
"Olivetti LSX5030/40","RETAIL"
"Standard PC","RETAIL"
"Standard PC with C-Step i486","RETAIL"
"Wyse Series 7000i Model 740MP/760MP","RETAIL"
Keyboard Layouts
Example:
[Unattended]
KeyBoardLayout = "US-International"
Retail Options:
"Albanian"
"Belarusian"
"Belgian Dutch"
"Belgian French"
"Brazilian (ABNT)"
"Bulgarian"
"Bulgarian Latin"
"Canadian English (Multilingual)"
"Canadian French"
"Canadian French (Multilingual)"
"Croatian"
"Czech"
"Czech (QWERTY)"
"Danish"
"Dutch"
"Estonian"
"Finnish"
"French"
"German"
"German (IBM)"
"Greek"
"Greek Latin"
"Greek (220)"
"Greek (220) Latin"
"Greek (319)"
"Greek (319) Latin"
"Hungarian"
"Hungarian 101-key"
"Icelandic"
"Irish"
"Italian"
"Italian (142)"
"Latin American"
"Latvian"
"Latvian (QWERTY)"
"Lithuanian"
"Norwegian"
"Polish (Programmers)"
"Polish (214)"
"Portuguese"
"Romanian"
"Russian"
"Russian (Typewriter)"
"Serbian Cyrillic"
"Serbian Latin"
"Slovak"
"Slovak (QWERTY)"
"Slovenian"
"Spanish"
"Spanish variation"
"Swedish"
"Swiss French"
"Swiss German"
"Turkish F"
"Turkish Q"
"Ukrainian"
"United Kingdom"
"US"
"US-Dvorak"
"US-Dvorak for left hand"
"US-Dvorak for right hand"
"US-International"
Mouse Drivers
Example:
[PointingDeviceDrivers]
"Microsoft Mouse Port Mouse (includes BallPoint)" = "RETAIL"
Retail Options:
"Microsoft Mouse Port Mouse (includes BallPoint)" = "RETAIL"
"Logitech Mouse Port Mouse" = "RETAIL"
"Microsoft InPort Bus Mouse" = "RETAIL"
"Microsoft Serial Mouse" = "RETAIL"
"Microsoft BallPoint Serial Mouse" = "RETAIL"
"Logitech Serial Mouse" = "RETAIL"
"Microsoft (Green Buttons) or Logitech Bus Mouse" = "RETAIL"
"No Mouse or Other Pointing Device", = "RETAIL"
SCSI Drivers
Example:
[MassStorageDrivers]
"Symbios Logic C810 PCI SCSI Host Adapter" = "RETAIL"
Retail Options:
"Adaptec AHA-151X/AHA-152X/AIC-6X60 SCSI Adapter" = "RETAIL"
"Adaptec AHA-154X/AHA-164X SCSI Host Adapter" = "RETAIL"
"Adaptec AHA-174X EISA SCSI Host Adapter" = "RETAIL"
"Adaptec AHA-274X/AHA-284X/AIC-777X SCSI Adapter" = "RETAIL"
"Adaptec AHA-294X/AHA-394X/AIC-78XX SCSI Controller" = "RETAIL"
"AMD PCI SCSI Controller/Ethernet Adapter" = "RETAIL"
"AMIscsi SCSI Host Adapter" = "RETAIL"
"BusLogic SCSI Host Adapter" = "RETAIL"
"BusLogic FlashPoint" = "RETAIL"
"Compaq 32-Bit Fast-Wide SCSI-2/E" = "RETAIL"
"Compaq Drive Array" = "RETAIL"
"Dell Drive Array" = "RETAIL"
"DPT SCSI Host Adapter" = "RETAIL"
"Future Domain TMC-7000EX EISA SCSI Host Adapter" = "RETAIL"
"Future Domain 8XX SCSI Host Adapter" = "RETAIL"
"Adaptec 2920/2905 / Future Domain 16XX/PCI/SCSI2Go" = "RETAIL"
"IBM MCA SCSI Host Adapter" = "RETAIL"
"IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "RETAIL"
"Mitsumi CD-ROM Controller" = "RETAIL"
"Mylex DAC960/Digital SWXCR-Ex Raid Controller" = "RETAIL"
"NCR 53C9X SCSI Host Adapter" = "RETAIL"
"NCR C700 SCSI Host Adapter" = "RETAIL"
"NCR 53C710 SCSI Host Adapter" = "RETAIL"
"Symbios Logic C810 PCI SCSI Host Adapter" = "RETAIL"
"Olivetti ESC-1/ESC-2 SCSI Host Adapter" = "RETAIL"
"QLogic PCI SCSI Host Adapter" = "RETAIL"
"MKEPanasonic CD-ROM Controller" = "RETAIL"
"Sony Proprietary CD-ROM Controller" = "RETAIL"
"UltraStor 14F/14FB/34F/34FA/34FB SCSI Host Adapter" = "RETAIL"
"UltraStor 24F/24FA SCSI Host Adapter" = "RETAIL"
Keyboard Driver
Example:
[KeyBoardDrivers]
"XT, AT, or Enhanced Keyboard (83-104 keys)" = "RETAIL"
Retail Options:
"XT, AT, or Enhanced Keyboard (83-104 keys)" = "RETAIL"
Full Example:
[Unattended]
OEMPreinstall = Yes
ComputerType = "Standard PC","RETAIL"
KeyBoardLayout = "US-International"
[PointingDeviceDrivers]
"Microsoft Mouse Port Mouse (includes BallPoint)" = "RETAIL"
[MassStorageDrivers]
"Symbios Logic C810 PCI SCSI Host Adapter" = "RETAIL"
[KeyBoardDrivers]
"XT, AT, or Enhanced Keyboard (83-104 keys)" = "RETAIL"
Third-Party Video Display Drivers and
Display Settings
Optio n s for Mic ro so f t- Supplied Vide o D rive r s
(Part of I386/ A u to - Detec te d )
The following entries are needed to automate the setup of detected video
displays during unattended setup.
[Display]
BitsPerPel = 16
XResolution = 1024
YResolution = 768
VRefresh = 60
Flags = 0
AutoConfirm = 1
To determine the exact values needed, the use of REGEDT32.EXE is the best
option.
Determining an adapter’s parameters can be accomplished via the
REGEDT32.EXE utility supplied with Windows NT 4.0. Every installed video
adapter has a key in HKLM\SYSTEM\CurrentControlSet\<Display
Key>\Device0,
To find out the value of <Display Key> check the following registry values.
HKLM\Hardware\DeviceMap\Video\
Example:
\REGISTRY\Machine\System\CurrentControl001\Services\ati\Device0
Note the string right after Services. In the example, it is ATI. ATI is the
<Display Key>.
[Display]
InfFile = "chips.inf"
InfOption = "Chips Video Accelerator(64300 64310 65545 65548 65550)"
InstallDriver = 1
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
AutoConfirm = 1
To properly install the driver and make the files available to setup, the
following directory must be created \$OEM$\DISPLAY and the .SYS, .DLL,
and .INF files have to be copied to the directory.
In the case of the Chips & Technologies driver, the CHIPS.INF needs to
be opened to get the information for the InfOption.
In the CHIPS.INF file search for the following string, [Manufacturer]. Under
this heading the following information is found, %chips%=chips.Mfg.
1. Search for [chips.Mfg]. Under the heading the following information is found:
2. The information to the left of the equal sign is placed in quotes and then
placed to the right of the equal sign for InfOption as in the example below:
3. Use the same method for determining the options for the display as outlined
in the previous section.
TXTSETUP.OEM and [OEMBootFiles]
Any file in the \I386\$OEM$\TEXTMODE directory is copied during setup to \
$\TEXTMODE. Files that are specified in the [OEMBootFiles] section are then
copied from \$\TEXTMODE to \$WIN_NT$.~BT\$OEM$. The \
$WIN_NT$.~BT\$OEM$ directory is accessed by setup based on the
TXTSETUP.OEM [Disks] section.
For additional information on TXTSETUP.OEM and Windows NT Device
Drivers, consult the Microsoft Windows NT Version 4.0 Device Driver Kit
(DDK).
[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
.
.
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.
• 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.
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
[OemBootFiles]
myhal.dll
aha154x.sys
txtsetup.oem
[Disks]
d3 = "HAL Support for Windows NT",\oemhal.tag,\
d1 = "Storage Support for Windows NT",\oemstor.tag,\
[Defaults]
HAL = e_isa_up
scsi = aha154x
[Computer]
e_isa_up = "Custome HAL",files.none
[Files.Computer.e_isa_up]
HAL = d3,myhal.dll
[SCSI]
aha154x = "Adaptec AHA-154x/1640 - OEM"
[Files.scsi.aha154x]
driver = d1,aha154x.sys.sys, aha154x
[Config.aha154x]
Error:
Windows NT Setup
Solution:
The variable HAL is not defined correctly for the section
[Files.Computer.xxxxxx] in the TXTSETUP.OEM.
Incorrect Structure
[Files.Computer.e_isa_up]
e_isa_up = d3,myhal.dll
Correct Structure
[Files.Computer.e_isa_up]
CHAPTER 3 HAL = d3,myhal.dll
CONFIGURING
MACHINE-SPECIFIC Note the differences of the line under the [Files.Copmuter.e_isa_up] for both
examples.
Error:
Windows NT Setup
Solution:
The path defined under the [Disks] section is incorrect. Windows NT Setup
does not allow for subdirectories under \$OEM$\TEXTMODE. All component
files must be placed in the TEXTMODE directory.
Incorrect Structure
[Disks]
d3 = "HAL Support for Windows NT",\oemhal.tag,\HAL
d1 = "Storage Support for Windows NT",\oemstor.tag,\SCSI
Correct Structure
[Disks]
d3 = "HAL Support for Windows NT",\oemhal.tag,\
d1 = "Storage Support for Windows NT",\oemstor.tag,\
DIR C:\*.UDB /S
Specifying a Unique ID
/UDF:ID[,database_filename]
Where:
If both the UniqueID and the filename of the .UDB are specified, the .UDB
is copied to the local drive during Text Mode Setup, and is used during GUI
mode setup without user intervention. The .UDB file can be any legal MS-DOS
filename.
If only the UniqueID is specified on the setup command line, setup will
prompt the user for a disk with a .UDB file named $Unique$.udb. This disk
must be prepared by the administrator in advance. The user is prompted for
this disk during the graphical (GUI) mode of setup.
In either case, if the supplied .UDB is corrupt or if setup cannot locate the
specified UniqueID, the user is prompted to insert a disk that contains the fixed
.UDB, or Cancel. If the user clicks Cancel, the values in the setup script file
will be used. These might not be appropriate for the computer.
The .UDB file is a text file, use any standard text editor to create the .UDB file.
The first section of the .UDB is [UniqueIds]. This section lists all UniqueIDs
that are included in your Uniqueness Database File. The information on the left
is the UniqueID, which can contain any character except an asterisk (*),
space, comma, or equal (=) character. The information on the right is a list of
sections, the names which should match the names in the corresponding
section in the setup script file.
[UniqueIds]
id1 = section1,section2
id2 = section1,section2
id3 = section1,section3,section4
For example, if you planned to use computer names based on user email
names as the UniqueIDs, this section might resemble the following:
[UniqueIds]
computer1 = UserData,Unattended
computer2 = UserData,Unattended
computer3 = UserData,GuiUnattended,Network
If a section is referenced in the [UniqueIds] section but does not exist, the
user will be prompted to insert a disk containing a valid .UDB file.
If both the setup script and the .UDB section contain a line that is referenced
by the UniqueID, the value specified in the .UDB is used instead of the value
in setup script. This is equivalent to replacing the line in setup script.
If the .UDB section contains a line that is referenced by the UniqueID but the
setup script file does not, the value specified in the .UDB is used. This is
equivalent to adding the line to setup script.
If a key is specified in the setup script file, and it appears in the .UDB section
that is referenced by the UniqueID with no value to the right of the equal sign,
the default value is used. This is equivalent to commenting out the key in the
setup script file.
If a key is specified in the .UDB, but the value is left blank, no value is used
for that key even if it is specified in setup script. This might result in the user
being prompted for the information.
You can create a single .UDB file with UniqueIDs for all of your computers
or many .UDB files, one for each machine. You might find that creating
individual .UDB files for each computer is easier to manage than a single
encompassing .UDB file.
Example 1
In this example, the [Userdata], [GuiUnattended], and [Network] sections will
be merged into the setup script file. See the sample setup script file at the end
of this chapter as a reference. The following example .UDB file includes
settings for a single computer.
[UniqueIDs]
ComputerID1 = Userdata,GuiUnattended,Network
[UserData]
FullName = "User ID-1"
ComputerName = "MACHINE-1"
[GuiUnattended]
TimeZone = " (GMT-05:00) Eastern Time (US & Canada)"
[Network]
JoinDomain = "DomainEast"
The settings specified in this .UDB file will be merged during the GUI mode of
Windows NT setup.
Example 2
This example shows the use of the UniqueID to specify multiple machine IDs
within the same UDB. Note that each section has the UniqueID included. The
UniqueID specified on using the /UDF parameter would be change to match
the UniqueID for each computer but the .UDB filename would be the same.
Also note that this .UDB file would merge the same values for ComputerID1 in
example 1 above:
[UniqueIDs]
ComputerID1 = Userdata,GuiUnattended,Network
ComputerID2 =
GuiUnattended,Userdata,Modem,AdaptersList,EE16Params,ProtocolsList,TC
PIPParams, SelectedServicesList,InstallCSNW
[ComputerID1-UserData]
FullName = "User ID-1"
ComputerName = "MACHINE-1"
[ComputerID1-GuiUnattended]
TimeZone = " (GMT-05:00) Eastern Time (US & Canada)"
[ComputerID1-Network]
JoinDomain = "DomainEast"
[ComputerID2:GuiUnattended]
OEMSkipWelcome = 1
OemBlankAdminPassword = 1
TimeZone = "(GMT-06:00) Central Time (US & Canada)"
DetachedProgram = "C:\REGINI.EXE"
Arguments = "C:\REGINI.INI"
[ComputerID2:UserData]
FullName = "User Name"
OrgName = "Engineering Department"
ComputerName = "OPKNT40-3"
ProductID = "123-1234567"
[ComputerID2:NetWork]
JoinWorkGroup = engineering
[ComputerID2:AdaptersList]
EE16 = EE16Params ; Works Fine
[ComputerID2:EE16Params]
BusType = 1
Transceiver = 3
BusNumber = 0
IoChannelReady = 2
IoBaseAddress = 768
InterruptNumber = 5
[ComputerID2:ProtocolsList]
NBF = NetBeuiParams
NWLNKIPX = NWLINKIPXParams
TC = TCPIPParams
DLC = DLCParams
[ComputerID2:TCPIPParams]
DHCP = Yes
[ComputerID2:SelectedServicesList]
NWWKSTA = InstallCSNW
NETMON = InstallNetMon
[ComputerID2:InstallCSNW]
!DefaultLocation = TheNovellNet
!DefaultScriptOption = 1
Sample setup script file used for reference for the above .UDB.
[Unattended]
OEMPreinstall = Yes
NoWaitAfterTextMode = 1
NoWaitAfterGUIMode = 1
FileSystem = LeaveAlone
ExtendOemPartition = 0
ConfirmHardware = No
NtUpgrade = no
Win31Upgade = no
OverwriteOemFilesOnUpgrade = yes
TargetPath = winnt
ComputerType = "My Super Dupper HAL - OEM","OEM"
KeyBoardLayout = "US-International"
OemSkipEula = Yes
[MassStorageDrivers]
"Adaptec AHA-154X/AHA-164X - OEM" = "OEM"
[DisplayDrivers]
[KeyBoardDrivers]
"XT, AT, or Enhanced Keyboard (83-104 keys)" = "RETAIL"
[PointingDeviceDrivers]
"Microsoft Mouse Port Mouse (includes BallPoint)" = "RETAIL"
[OEMAds]
Banner = "Windows NT Sample OEM Banner"
Logo = oemlogo.bmp
Background = oembgnd.bmp
[OEMBootFiles]
TXTSETUP.OEM
AHA154X.SYS
MYHAL.DLL
OEMHAL.TAG
OEMSTOR.TAG
[GuiUnattended]
[UserData]
[Display]
BitsPerPel = 16
XResolution = 1024
YResolution = 768
VRefresh = 60
Flags = 0
AutoConfirm = 1
[Modem]
[NetWork]
InstallAdapters = AdaptersList
InstallProtocols = ProtocolsList
InstallServices = SelectedServicesList
[AdaptersList]
[EE16Params]
[ProtocolsList]
[NetBeuiParams]
[NWLINKIPXParams]
CHAPTER 4
WINDOWS NT 4.0 [TCPIPParams]
APPLICATION
PRE-INSTALLATION [DLCParams]
TOOL (SYSDIFF.EXE)
[SelectedServicesList]
STCPIP = InstallSimpleTCP
TCPPRINT = InstallTCPPrint
[InstallCSNW]
[InstallNetMon]
[InstallSimpleTCP]
[InstallTCPPrint]
Overview
Windows NT 4.0 includes a tool that enables you to distribute and install
applications automatically during or after Windows NT setup which can
significantly reduce deployment time and costs. This tool, the System
Difference Tool (SYSDIFF.EXE), can be used to record the changes made to
your system when an application is installed, for example, capture those
changes in a "package", and then "apply" or install the package on another
system during or after the setup process.
The System Difference Tool can be used to distribute files or make
application configuration changes during the setup process in addition to
distributing and installing applications. It can be used to pre-install
applications that do not provide a "silent" or "unattended" setup. It can also be
used to create "packages" to be distributed after Windows NT has been setup.
Later in this section you will find step by step instructions on how to use the
System Difference Tool to pre-install an application.
Installing SYSDIFF.EXE
The System Difference Tool is included on the Windows NT Retail CD. To
install the tool, simply copy SYSDIFF.EXE and SYSDIFF.INF to a directory on
your hard drive. These files are located in the \support\deptools directory on
your Windows NT Retail CD.
One of the command line parameters, /snap, /diff, /apply, /dump, or /inf
must be specified. This parameter is the System Difference Tool mode. See
below for descriptions of these modes and the options they use.
writes information describing its actions. The log file is not used in
apply or dump modes.
When the System Difference Tool runs in /snap or /diff mode, it looks for a
file called SYSDIFF.INF in the same directory that SYSDIFF.EXE is located.
SYSDIFF.INF contains information that is used to exclude certain files, registry
keys, etc. from being included in a package.
/sn ap Mod e
Run the System Difference tool in /snap mode to create a "snap shot" of the
system which will be the point of comparison for /diff mode.
snapshot_file may be any valid Win32 filename. A snapshot of the system will
be recorded in this file.
Example:
SYSDIFF /SNAP /log:C:\IMAGES\SNAP.LOG C:\IMAGES\APPSSNAP.IMG
/diff Mo de
Run the System Difference Tool in /diff mode to create a "package" or
sysdiff_file that includes changes made to the system after the snapshot_file
was created. The sysdiff_file can include all of the files copied to the system,
changes to the system registry, and changes made to configuration files such
as the System.ini.
Example:
SYSDIFF /DIFF /log:C:\IMAGES\DIFF.LOG C:\IMAGES\APPSNAP.IMG
C:\IMAGES\APPDIFF.IMG
/app ly Mod e
The syntax for using SYSDIFF in /apply mode is:
sysdiff_file is the file created when running the System Difference Tool in /diff
mode.
Note the %SystemRoot% must be the same as it was on the system that
was used to generate SYSDIFF_file. In other words, if you generate a
SYSDIFF_file on a Windows NT installation in C:\WINNT, then that
SYSDIFF_file can be applied on other computers only if they are running
Windows NT installed in C:\WINNT.
/m – Use this switch if you are using the System Difference Tool to pre-
install a package during Windows NT setup by including the SYSDIFF /apply
command to the CMDLINES.TXT file on your distribution share. When the
System Difference Tool generates a package during /diff mode, it captures
changes made to the directory where the current user's profile is stored.
When you specify this flag, the System Difference Tool will apply these
changes to the Default User profile instead. A new user that logs on to
Windows NT 4.0 for the first time will get a copy of the Default User profile
which will include the shortcuts to the applications created during that
application setup.
For example, if you use the Administrator profile to create the System
Difference Tool package, as is suggested below, shortcuts (.LNK files) for the
Start Menu are typically created in the %WinDir%\Profiles\Administrator\Start
Menu\Programs directory. By using the /m switch with the System Difference
Tool in /apply mode, the same shortcuts will be copied to %WinDir
%\Profiles\Default User\Start Menu\Programs instead of the Administrator
profile. When new users log on to the system they will get a copy of the
"Default User" profile.
Example:
SYSDIFF /APPLY /m C:\IMAGES\APPSDIFF.IMG
Dump Mod e
This mode is useful as a diagnostic. It outputs a human-readable form of the
contents of a SYSDIFF package to a text file. The syntax is:
For instance, if you create a package and want to know what is in it, you
can use the /dump switch to create a text file for later analysis.
Example:
SYSDIFF /DUMP C:\IMAGES\APPSDIFF.IMG C:\IMAGES\APPSDIFF.DMP
/inf Mo de
This mode is used to prepare a Windows NT distribution point for application
pre-installation. The /inf mode accomplishes three primary tasks:
Example:
SYSDIFF /INF /m C:\IMAGES\APPSDIFF.IMG Z:\
SYSD IF F /a p p ly Mo de
SYSDIFF /apply mode is an alternative to /inf mode. In general it is better to
use /inf mode, but you may find that /apply mode works at times when /inf
mode fails. Using /apply mode can result in somewhat slower copying of the
files necessary to install the application image since a single large file may
copy more slowly over a network than smaller files. If a package is a large
application or application suite, such as Microsoft Office, it can be many
megabytes in size.
To view the changes being made using SYSDIFF /apply mode, you must
use SYSDIFF /dump mode. If you want to make changes to the application
image package such as changing the files copied or editing configuration
changes applied during the application setup, you would have to first install the
application, manually edit the registry and manually remove or add any files,
then create your System Difference package again.
To use /apply mode you must edit the CMDLINES.TXT to add the SYSDIFF
/apply command and you must copy all necessary files including
SYSDIFF.EXE, SYSDIFF.INF, and the package to the $OEM$ directory on
your distribution server. See Chapter 5, "Customizing Windows NT" for more
information on CMDLINES.TXT and Chapter 1, "Getting Started" for more
information on the $OEM$ directory.
Troubleshooting SYSDIFF.EXE
TIP- Check the status windows
displayed by SYSDIFF.EXE for SYSDIFF.EXE uses the standard Windows error message reporting facilities.
a "sysdiff aborted" message. These are listed in the Win32 SDK the Windows NT Resource Kit. Some of
The file listed above this entry the common error messages you may come across when running
is usually the file that SYSDIFF.EXE are listed below.
SYSDIFF.EXE failed on.
Erro r Messa g e : Syste m Erro r 5.
Solution:
This error translates to "access denied" and may be generated when the
SYSDIFF tool attempts to access restricted keys in the registry. The SYSDIFF
tool does not support system service, hardware driver, or other driver
installations. To resolve this issue, follow these steps:
1. Identify which program installed the system service, hardware driver, or
other driver.
2. Create a new difference file without the program identified in step 1.
3. Apply the new difference file.
4. Install the program using its own installation program.
Solution:
The master computer (the computer on which the SYSDIFF tool snapped the
original, or snap_file and created the difference file) has had its computer
name changed between the snap and the creation of the difference file. To
correct this problem, re-create both the original file and the difference file
making sure the computer name does not change or re-diff the machine if
possible using the SYSDIFF.INF to exclude this registry key.
Solution:
If you attempt to apply a difference file to a computer on which the
%SystemRoot% folder is named differently from the %SystemRoot% folder on
the computer on which the difference file was created, you may receive the
following error messages.
Click OK. Setup will continue but certain applications or other features may not
work correctly.
Solution:
This error message indicates you spelled one of the SYSDIFF command line
arguments incorrectly. For example, sysdiff /diff base.img offic.img, but
base.img is really called base2.img.
- Close all programs, restart the computer, and then run the SYSDIFF
tool without running any other programs.
To verify that you are using the correct SYSDIFF utilities, check the time/date
stamps:
Also, if problems are suspected with the SYSDIFF.INF, try using the one that
is on the Windows NT CD:
Solution:
Place a dummy file in the directory.
Solution:
Instead of relying on SYSDIFF to update the .INI file, manually update the .INI
file, then copy it to the appropriate directory under the $OEM$\<Drive Letter>.
Solution:
Perform the operation to the local drive, then manually move the $OEM$ tree
over to the distribution server via XCOPY.EXE.
Solution:
Get the updated version of SYSDIFF.EXE from Microsoft's FTP site. Consult
the Microsoft Knowledge Base for the exact location.
[ExcludeDirectoryTrees]
C:\Image
Prob le m: When you run the SYSD IF F tool, it
appea rs on th e sc re e n brie fly and the n no th in g
else happe n s.
Solution:
This can occur when an incorrect syntax for the SYSDIFF tool is used on the
command line.
Solution:
When you apply a difference file, it may seem that some user-specific settings
are not applied. These settings are contained in HKEY_USERS or
HKEY_CURRENT_USER in the registry. Because these settings are user-
specific, they are not displayed if you log on with a different account than the
one that created the difference file. The use of Profiles and Policy files provide
the functionality needed to provide a uniform and controlled registry setting for
users.
Solution:
Network drives have been created after snapping the base file but before the
difference file are applied to the new installation. These settings are in the
registry keys and are shown on a per-user basis. If you do not want additional
network drives to be mapped for a user, you must disconnect them before
creating the difference file.
Solution:
This behavior can occur if you end the SYSDIFF tool prematurely. Delete the
temporary files and re-create the SYSDIFF files.
Solution:
If SYSDIFF.EXE is hanging when updating an .INI file or is failing to update or
copy .INI files, then the .INI files can be updated manually and copied to the
appropriate directories under $OEM$ to ensure they are distributed properly.
Sample SYSDIFF.INF File
[Version]
Signature = "$Windows NT$"
[ExcludeDrives]
;
; The first character on each line is the drive letter
; of a drive to exclude.
;
;c
;d
[ExcludeDirectoryTrees]
;
; Each line is a fully-qualified path of a tree to
; be excluded. The directory and all of its subtrees
; are excluded.
;
*:\recycled
*:\recycler
[ExcludeSingleDirectories]
;
; Each line is a fully-qualified path of a directory to be
; excluded. The directory's subdirs are NOT excluded.
;
::\system32\config
::\system32\logfiles
[ExcludeFiles]
; Each line is a fully-qualified path of a file to be excluded.
; If it does not start with x:\ then we assume it's a filename part
[IncludeFilesInDir]
;
; Each line in here is a fully qualified path of a directory
; whose files are all to be included in a diff (marked as
; added/changed). Use this if you want to include files in the diff
; that might not have actually been changed.
;
[ExcludeRegistryKeys]
;
; Each line indicates a single registry key to be excluded.
; Subkeys of this key are not excluded.
;
; The first field is one of HKLM or HKCU
; The second field is the subkey, which must NOT start with a \.
;
HKLM,System\Disk
HKLM,System\Select
HKLM,System\Setup
HKCU,Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
[ExcludeRegistryTrees]
;
; Each line indicates a registry key and subkeys to be excluded.
;
; The first field is one of HKLM or HKCU
; The second field is the subkey, which must NOT start with a \.
;
HKLM,SYSTEM\ControlSet001
HKLM,SYSTEM\ControlSet002
HKLM,SYSTEM\ControlSet003
HKLM,SYSTEM\ControlSet004
HKLM,SYSTEM\ControlSet005
HKLM,SYSTEM\ControlSet006
HKLM,SYSTEM\ControlSet007
HKLM,SYSTEM\ControlSet008
HKLM,SYSTEM\ControlSet009
HKLM,SYSTEM\CurrentControlSet\Enum
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\perflib"
Overview
After you have automated Windows NT setup and the installation of
applications, you will likely find that you still have a list of customizations or
tasks that must be completed before turning the computer over to the end
user. You may want to change the password policy for local machine
accounts, disable and delete a service, or execute some other task that is
outside of the capabilities of the Windows NT deployment tools. In this
chapter you will find examples of tools and methods that can be used to
automate these tasks. The examples provided are solutions to some common
questions. For the answer to your specific question about how to automate a
post-setup task, consult the Microsoft On-line Knowledge Base and Microsoft
Tech-Net, your question may have already been asked and answered.
REGED IT.EX E
Windows NT 4.0 includes two registry editing tools: REGEDT32.EXE and
The next step is to test your exported registry file. To do this simply double-
click the .REG file you created to import the changes into the registry. Once
you have verified that the imported .REG file works as expected, add a
command to your CMDLINES.TXT file that imports the .REG file silently.
Using the example above the command would be:
The following example uses the "Auto Admin Logon" feature and the "Run
Once" feature to automatically logon the Administrator after Windows NT 4.0
has completed setup on the first logon, then execute a program named
"CUSTOM.CMD" at this first logon.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\
Winlogon]
"DefaultUserName"="Administrator"
"AutoAdminLogon"="1"
"DefaultPassword"=""
REGEDIT4
[Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\R
unOnce]
"RunThis"="c:\\batch\\custom.cmd"
[Commands]
".\REGEDIT.EXE /S .\AUTLOG.REG"
".\REGEDIT.EXE /S .\RUNONCE.REG"
6. Edit the Windows NT 4.0 setup script file that is being used and
add the following line to the [UNATTENDED] section:
OEMPreInstall = YES
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
\Tips]
"DisplayInitialTipWindow"=dword:00000000
"Show"=hex:00,00,00,00
"Next"=hex:03,00
[Commands]
".\REGEDIT.EXE /S .\NOWELC.REG"
6. Edit the Windows NT 4.0 setup script file that is being used and
add the following line to the [UNATTENDED] section:
OEMPreInstall = YES
LOGON.REG:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"LegalNoticeCaption"="This is the Legal Notice Caption"
"LegalNoticeText"="This is the Legal Notice Text"
"LogonPrompt"="Enter a user name and password that is valid for this system."
"Welcome"="Good morning and welcome to a new day at Widgets Are Us!"
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DontDisplayLastUserName"="1"
"PowerdownAfterShutdown"="1"
"RunLogonScriptSync"="0"
"ShutdownWithoutLogon"="1"
REGEDIT4
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Shutdown]
"LogoffSetting"="0"
"ShutdownSetting"="0"
The Shut Down subkey contains values that enable you to specify and
retain default Shut Down settings. This subkey is not in the Registry unless
you add it.
"LogoffSetting" - Default: 0. Specifies the default option for the Logoff
dialog box. Valid values are:
0 = Logoff
1 = Shut Down
2 = Shut Down and Restart
3 = Shut Down and Power Off (when supported).
"ShutdownSetting" - Default: 0. Specifies the default value for the Shut
Down Computer dialog box. This dialog box appears when you press
CTRL+ALT+DELETE and then click the Shut Down button. Valid values are:
0 = Logoff
1 = Shut Down
2 = Shut Down and Restart
3 = Shut Down and Power Off (when supported)
[Commands]
"<command_1>"
"<command_2>"
.
.
"<command_x>"
Where:
<command_1>, <command_2> and so forth refer them to the commands in
the order you want them to run when CMDLINES.TXT is called by GUI Mode
Setup. Note that all commands must appear in quotation marks ("").
Never Reboot
Set <reboot-mode> to 0 or 128. Whatever happens, the PC will not be
rebooted. It’s up to the client to determine if the PC should be
rebooted. For setup, this means there is a file
C:\WINDOWS\WININIT.INI that is not zero bytes in size.
Silent Reboot
Set <reboot-mode> to 3 or 131. If setup determines that the PC needs
to reboot, there is no user interaction.
Prompt Reboot
Set <reboot-mode> to 4 or 132. If setup determines that the PC needs
to reboot, it prompts the user with a "Reboot the machine, Yes/No"
dialog.
For example, the following command line installs the Games optional
component and, if Windows NT setup determines a reboot is necessary, asks
the user if they want the computer to reboot immediately after the installation is
complete.
Notes: SETUPAPI does not check for disk space required to install any
files being copied. This is the responsibility of the administrator.
Your installation process should not include commands that are to execute
after the RUNDLL32 command has executed because the system may reboot
immediately at that point, before returning control of the system to another
process. If your installation process requires other commands that are to
execute after the RUNDLL32 command, you should use the RunOnce feature.
See the "Configuring System to Automatically Logon and Execute a Program"
AUTOLOG.INF
[Version]
Signature = "$Windows NT$"
[DefaultInstall]
AddReg = AddRegistryKeys
[AddRegistryKeys]
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultPassword",,""
HKLM,"SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon","DefaultUser",,"Administrator"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","AutoAdminLogon",,"1"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","RunThis",,"c:\batch\custo
m.cmd"
[Commands]
"rundll32 setupapi,InstallHinfSection DefaultInstall 128 .\autolog.INF"
REGDEL.INF
[version]
signature="$Windows NT$"
[DefaultInstall]
DelReg = DeleteRegistryKeys
[DeleteRegistryKeys]
HKLM,"System\CurrentControlSet\Services\GOPHERSVC"
HKLM,"Software\Microsoft\INetMgr\Parameters\AddOnServices","Gopher"
HKLM,"System\CurrentControlSet\Services\W3SVC"
Method 1
Automatically logon as the administrator, then use the "Run Once" feature to
run the Windows NT Service Pack Installation Program, UPDATE.EXE, in
silent mode.
See the earlier section, "Configuring System to Automatically Logon and
Execute a Program", for an example of automatically logging on as the
administrator and running a program. Add the command line for running
UPDATE.EXE in silent mode to the "RunOnce" key in the registry. Example
command line:
\\NTFILES\SP\UPDATE.EXE /U /Z
Method 2
Use the Windows NT setup switch, /E, to specify a command to be executed
at the end of graphical mode setup. Example:
Method 3
If you are using the Disk Duplication method of distributing Windows NT this is
the recommended method of automating installation of Windows NT Service
Packs because all needed files are copied to the hard drive before duplication
rather than copying the files after the graphical mode portion of setup is
complete. See Chapter 1 in this guide for more information about disk
duplication.
Example:
copy d:\i386\*.* c:\dist\$oem$
copy d:\spcdrom.40 c:\dist\$oem$
copy d:\disk1 c:\dist\$oem$
Where d: is the CD ROM drive letter and i386 is the name of the
[Commands]
".\update /u /z"
[Unattended]
OemPreinstall = yes
InstallType values:
0 = Manual Only
10 = Typical or Custom
14 = Typical, Custom, or Portable
The following .INF files use the InstallType variable. The list of .INF files can
be found under the [BaseWinOptionsInfs] in the SYSSETUP.INF.
accessor.inf
communic.inf
games.inf
mmopt.inf
multimed.inf
optional.inf
pinball.inf
wordpad.inf
[Freecell]
OptionDesc = %Freecell_DESC%
Tip = %Freecell_TIP%
IconIndex = 62 ;Windows mini-icon for dialogs
Parent = Games
InstallType = 0 ;Manual only
CopyFiles = FreecellCopyFilesSys, FreecellCopyFilesHelp
AddReg = FreecellAddReg
UpdateInis = FreecellInis
Uninstall = FreecellUninstall
Upgrade = FreecellUpgrade
Detect = %11%\freecell.exe
2. For each .INF file that needs to be modified, the file first needs
to be expanded and the original file renamed.
A. EXPAND GAMES.IN_ GAMES.INF
B. RENAME GAMES.IN_ GAMES.SAV
3. Edit the .INF file and change the InstallType value to one of the
following values:
0 = Manual Only
10 = Typical or Custom
14 = Typical, Custom, or Portable
ACCESSOR.INF
Calculator InstallType = 10 ;Typical, Custom
Character Map InstallType = 10 ;Typical, Custom
Clipboard Viewer InstallType = 14 ;Typical, Portable, Custom
Clock InstallType = 14 ;Typical, Portable, Custom
Desktop Wallpaper InstallType = 0 ;Manual
Document Templates InstallType = 10 ;Typical, Custom
COMMUNIC.INF
Chat InstallType = 14 ;Typical, Portable, Custom
Phone Dialer InstallType = 14 ;Typical, Portable, Custom
Hyper Terminal InstallType = 14 ;Typical, Portable, Custom
GAMES.INF
Freecell InstallType = 0 ;Manual
Mine Sweeper InstallType = 0 ;Manual
Solitaire InstallType = 0 ;Manual
PINBALL.INF
Pin Ball InstallType = 0 ;Manual
MMOPT.INF
Media Options InstallType = 10 ;Typical, Custom
Musica Sound Scheme InstallType = 0 ;Manual
Jungle Sound Scheme InstallType = 0 ;Manual
RobotZ Sound Scheme InstallType = 0 ;Manual
Utopia Sound Scheme InstallType = 0 ;Manual
MULTIMED.INF
CD Player InstallType = 14 ; Custom, Typical, Laptop
Media Player InstallType = 14 ; Custom, Typical, Laptop
Sound Recorder InstallType = 14 ; Custom, Typical, Laptop
Volume Control InstallType = 14 ; custom, typical, laptop
OPTIONAL.INF
Accessibility Options InstallType = 14 ;Typical, Portable, Custom
WORDPAD.INF
Word Pad InstallType = 10 ;Typical, Custom
INETSTP -b setup.txt
Where SETUP.TXT is an text file with nothing but a semi-colon in it, Peer
Web Services setup requires a setup script file to run in silent mode like
Internet Information Server for Windows NT Server, but does not make use of
any settings included in the file.
Example:
[BaseWinOptionsInfs]
accessor.inf
communic.inf
games.inf
imagevue.inf
mmopt.inf
; msmail.inf
multimed.inf
optional.inf
pinball.inf
wordpad.inf
[BaseWinOptionsInfs]
accessor.inf
communic.inf
games.inf
; imagevue.inf
mmopt.inf
msmail.inf
multimed.inf
optional.inf
pinball.inf
wordpad.inf