How Remote Installation Services Extension Works

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

How Remote Installation Services Extension Works

In this section

  • Remote Installation Services Extension Architecture

  • Remote Installation Services Extension Protocols

  • Remote Installation Services Extension Physical Structure

  • Remote Installation Services Extension Processes and Interactions

  • Network Ports Used by Remote Installation Services Extension

Administrators configure Remote Installation Services Extension using the Remote Installation Services (RIS) server-side extension (SSE), accessed from the Group Policy Object Editor. There is no RIS client-side extension (CSE). This section describes how RIS Policy is configured in the SSE, and how those settings affect Remote Installation Services.

Remote Installation Services Extension Architecture

The following figure shows the high-level architecture of Remote Installation Services.

Remote Installation Services Extension Architecture

RIS Extension Architecture

In the figure, RIS SSE is the Remote Installation Services (RIS) server-side extension (SSE). This is the Remote Installation Services node in the Group Policy Object Editor for the GPO.

Components significant to RIS are summarized in the following table.

Remote Installation Services Extension Architecture Components

Component Description

Group Policy Object Editor

The Group Policy Object Editor is an MMC server-side extension packaged as the dynamic-link library (DLL) named Gpedit.dll. Each of the nodes in the Group Policy Object Editor, including the Remote Installation Services node, is itself an extension.

Remote Installation Services (RIS) server-side extension (SSE)

The RIS SSE is a Group Policy Object Editor extension, packaged as the DLL named rigpsnap.dll. Administrators use the RIS extension to configure the Remote operating system Installation options presented to target users.

Rigpsnap.dll

Rigpsnap.dll is the RIS SSE component.

Lightweight Directory Access Protocol (LDAP)

LDAP is a communication protocol used to query Active Directory directory services.

Server Message Block (SMB)

SMB is a communication protocol used for file access between the RIS extension and Active Directory.

Group Policy Container

A Group Policy Container is a location in Active Directory where GPOs and their properties are stored.

Group Policy Template (GPT)

The GPT is the part of the GPO that consists of the domain controller file system, and in which most Group Policy settings are stored.

Sysvol

The Sysvol folder contains the subset of folders shared on each domain controller. These folders store file-system domain information, as compared to registry domain information.

Pre-Boot Execution Environment (PXE)

PXE is a combination of standardized protocols and services that enables remote startup of computers over a network. Remote Installation Services uses PXE.

Boot Information Negotiation Layer (BINL) service

BINL is a service that runs on the RIS Server. BINL handles client requests, authenticates clients with Active Directory, and confirms that correct policy and settings are applied to the client during remote installation.

Trivial File Transfer Protocol (TFTP) service (daemon)

TFTP is a RIS Server service that downloads the OSChooser, Client Installation Wizard (CIW) files, and other boot files during the RIS process.

Client Installation Wizard (CIW)

CIW is the graphical user interface that guides the user of a client computer through the remote installation of an operating system. CIW consists of screens and a program called OSChooser that displays the screens.

Single Instance Store (SIS) service

SIS is a pair of components used to save disk and main memory file cache space when two or more files share content. Other attributes of the files might be different, such as path, owner, access control lists, and so on. Writes to one file don’t necessarily affect the other files. SIS saves space by providing links that are semantically identical to independent files.

SIS filter

The SIS filter is one of the SIS components. The SIS filter is a kernel-level file system filter driver that implements links for identical files.

SIS Groveler service

The SIS groveler service is one of the SIS components that detects identical files and reports them to the SIS filter for link creation.

DHCP

Dynamic Host Configuration Protocol is the communication protocol used between the client and the RIS server (and the DHCP server). RIS uses DHCP, which follows the PXE architecture, to bootstrap the client computer.

Bootp

Bootp is the RIS Server.

Remote Installation Services Extension Protocols

Protocols used by Remote Installation Services are shown in the previous RIS Architecture figure, and are described in the following table.

Remote Installation Services Protocols

Protocols Description

Trivial File Transfer Protocol (TFTP)

TFTP is the service that hosts file download from the RIS Server to the client during remote operating system installation.

Lightweight Directory Access Protocol (LDAP)

LDAP is a communication protocol used by the RIS SSE on the Administrator computer to query Active Directory directory services.

Server Message Block (SMB)

SMB is a protocol used by the Administrative computer to access the Sysvol on the Domain Controller. SMB is the primary file and print sharing protocol.

NTLM v1

Windows 2000 uses NTLM v1 for encryption.

NTLM v2

Windows Server 2003 uses NTLM v2 for encryption.

DHCP

The client uses Dynamic Host Configuration Protocol (DHCP) to send out a DHCP discover asking for an IP address and a PXE boot server. The RIS Server and DHCP server respond using DHCP.

Remote Installation Services Extension Physical Structure

The following figure shows the RIS file structure.

RIS Policy Files

RIS Policy Files

The following table summarizes the files used by Remote Installation Services and the RIS extension.

Remote Installation Services Policy Physical Structure Components

Component Description

Setup Installation Files (.sif)

The RIS Server uses Setup Installation Files to communicate the installation options to the RIS client. These files have the .sif extension.

.osc files

The RISetup.exe tool, used to setup the RIS Server, installs a default set of Client Installation Wizard files. These files have an .osc extension, and are stored in the \OSChooser\English folder on the RIS Server. These files are text files formatted in OSCML, and can be modified.

Client Installation Wizard (CIW) files

CIW files are .osc files that guide the user through a remote operating system installation on the client.

Winnt.sif

Winnt.sif is a Setup Installation File downloaded from the RIS Server to the client and used to detect the client hardware abstraction layer (HAL) type.

Ntldr

Ntldr is the executable that starts the CIW. Ntldr is on the client, and is the same as the oschoice.exe file on the RIS Server, copied and saved as Ntldr on the client.

Startrom.com file

Startrom.com is a file located in the \\RIS_server_name\REMINST\oschooser\i386 folder on the RIS server. Startrom.com is the first file downloaded by Ntldr to start the client boot process.

Welcome.osc file

The Welcome.osc file provides the first Client Installation Wizard screen presented to the client during the Client Installation Wizard.

Choice.osc file

The Choice.osc file stores all possible remote operating system installation choices that can be presented to the client user.

Oscfilter.ini

The Oscfilter.ini file stores settings made in the RIS SSE, and it determines which of the possible operating system installation options in Choice.osc, are presented to the client.

Oschoice.osc

The Oschoice.osc file stores the remote operating system installation list (if more than one) presented to the client user as determined by the oscfilter.ini file and choice.osc file combination.

Remote Installation Services Extension Processes and Interactions

A high-level overview of the remote installation of an operating system follows.

How a Remote Operating System Installation Works

The RIS Server and the RIS Client both must be connected to the wired network. Wireless connection to the network is not supported.

When the client user presses the F12 key, the client’s BIOS initiates a PXE boot by sending a DHCP discover and implementing PXE option tags. The BinL service on the RIS Server, which monitors port 4011, receives the DHCP discover from the client. The server downloads the startrom.com file image to the client using TFTP. The server loads the network driver on the client using the Uniform Network Device Interface (UNDI). The client transmits the client’s GUID/MAC to the server, which records the GUID/MAC. The server sends the Ntldr (oschoice.exe saved as Ntldr on the client) to the client using TFTP, and the client starts Ntldr/OSChoice.exe.

The server downloads the winnt.sif file to the client to detect the hardware abstraction layer (HAL) type. The client and server negotiate an OSC connection on port 401. Ntldr presents Client Installation Wizard (CIW) screens for user entry. Settings in Active Directory, the Registry, and files on the RIS Server determine the content of these screens.

One of the CIW screens is the Installation Choices screen. The RIS server queries the Active Directory Sysvol to determine the remote operating system installation options to display in this screen. The Active Directory Sysvol stores operating system choice settings in the oscfilter.ini file. You can determine the settings in the oscfilter.ini file using the Remote Installation Services node in the GPO editor. The Remote Installation Services node provides an interface for you to control the remote operating system installation options displayed on this one screen in the CIW. You can manually edit the oscfilter.ini file in Notepad to obtain the same result.

Note

  • You can also control the client installation process by manually editing the .osc and .sif files on the RIS server. For more information, see the Remote Installation Services help, which is available from the Windows Server 2003 family Group Policy Object Editor.

Depending on which of the remote operating system installation choices the client user makes, OSChoice receives the name of the next application to start, and sets the fully qualified path to the RIS server. The name of the loader is set, and a soft TFTP restart occurs. OSChoice passes the TFTP restart block, which is a local packet of information, to the setup loader. The restart block is an in-memory location for X86 computers and is passed using launch arguments in EFI architecture.

RIS SSE Impact on Remote O/S Installation

The settings you make in the RIS SSE are saved in the oscfilter.ini file, which is located in the \WINDOWS\SYSVOL\sysvol\<domain>\Policies<gpo_guid>\User\Microsoft\RemoteInstall folder on the domain controller. The oscfilter.ini file has the following structure:

[Choice]
OSAUTO=0
CUSTOM=1
RESTART=0
TOOLS=0

Your three options for each of the four settings in the RIS SSE, and their impact on the settings in the oscfilter.ini file are:

  • Not Configured. This removes the choice and value from the oscfilter.ini file.

  • Enabled. This sets the value for the choice to 1.

  • Disabled. This sets the value for the choice to 0.

The choice.osc file on the RIS server is not edited by your settings in the RIS SSE; it remains unchanged. Only the oscfilter.ini file is edited. The Choice.osc file is formatted in OSChooser Markup Language (OSCML) which is HTML 2.0. You can manually edit this file to customize the login options presented to the client user. The following code shows the default Choice.osc file.

<OSCML>
<META KEY=F3 ACTION="REBOOT">
<META KEY=F1 href="choichlp">
<META SERVER ACTION="DNRESET">
<META SERVER ACTION="FILTER CHOICE">
<TITLE>  Client Installation Wizard                          Main Menu</TITLE>
<FOOTER>  [ENTER] continue             [F1] help          [F3] restart computer</FOOTER>
<BODY left=5 right=75>
<br>
<br>
Use the arrow keys to select one of the following options:<br>
<P left=8>
<FORM>
<SELECT SIZE=10>
<OPTION VALUE="OSAUTO" TIP="This is the easiest way to install an operating system on your
computer. Most installation options are already configured by your network administrator.">
Automatic Setup
<OPTION VALUE="CUSTOM" TIP="With this option, you can define a unique name for this computer
and specify where the computer account will be created within the directory service.
Select this option if you are setting up this computer for someone else within your company.">
Custom Setup 
<OPTION VALUE="RESTART" TIP="A previous remote installation attempt has been detected on this
computer. Select this option to restart a previously started installation.">
Restart a Previous Setup Attempt
<OPTION VALUE="TOOLS" TIP="This option gives you access to tools for keeping your computer
up-to-date and for troubleshooting problems.">
Maintenance and Troubleshooting
</SELECT>
</FORM>
</P>
<BR>
<BOLD>Description:</BOLD>&nbsp&nbsp
<TIPAREA>
</BODY>
</OSCML>

Network Ports Used by Remote Installation Services Extension

The following table lists port assignments for Remote Installation Services extension.

Port Assignments for Remote Installation Services

Service Name UDP TCP

DHCP

n/a

67, 68

RPC

Dynamically assigned

Dynamically assigned

LDAP

n/a

398

SMB

n/a

445

COM

Dynamically assigned

Dynamically assigned

DCOM

Dynamically assigned

Dynamically assigned