In This Topic
What Is the Windows Deployment Services Client?
The Windows Deployment Services client is an application that runs within Microsoft Windows Preinstallation Environment (Windows PE), enabling you to select and install an install image from a Windows Deployment Services server. This application is, in fact, Setup.exe from Windows Vista with some additional functionality that is needed for network deployments. This mode differs from the normal Setup.exe mode in that the Windows Deployment Services client has the following features:
- Logic to interact with a Windows Deployment
Services server to retrieve the list of available install images
and perform the installation
- A unique set of user interface (UI) screens,
including an authentication and credentials page
- The ability to handle more advanced
unattended installation scenarios, including obtaining an unattend
file from a Windows Deployment Services server and performing
variable string replacement
- The ability to deploy install images from
Windows 2000, Windows XP, and Windows 2003 along
with Windows Vista and Windows Server 2008
Windows Deployment Services Client Architecture
The Windows Deployment Services client consists of the Setup.exe program from Windows Vista and supporting DLL files (including WDSClient.dll, WDScsl.dll, WDSclientapi.dll, and WDSimage.dll). The Windows Deployment Services client module and the supporting DLLs are loaded by Setup.exe only when it is in the Windows PE phase of Setup. The platform for running the client is Windows PE 2.0. The following diagram illustrates the Windows Deployment Services client architecture.
Windows Deployment Services Client Protocol
The Windows Deployment Services client communicates with the image store of the Windows Deployment Services server by using a control protocol used for passing information between the client and the server. This protocol is an application-level protocol that uses remote procedure calls (RPCs) over Transmission Control Protocol (TCP). The communications protocol does the following:
- Sends GUID and MAC addresses to the
- Obtains a Windows Deployment Services client
- Retrieves a list of available install images
from the server.
- Obtains a list of well-known settings (for
example, timezone) so that these values may be used during
- Obtains domain join settings.
When Setup.exe is started, the Windows Deployment Services client starts networking and initiates communication with the Windows Deployment Services server. This initial session is an anonymous session that uses unencrypted RPCs. This session is created using the normal RPC process. First, the client binds to the Windows Deployment Services server’s End Point Mapper to determine which RPC port the Windows Deployment Services server is listening on (by default, this is port 5040). Next, the Windows Deployment Services client connects (through RPC) directly to the Windows Deployment Services server. During this initial session, the client sends information (such as GUID) to the image store. The Windows Deployment Services server then does the following:
- Uses this information to determine whether
the client is prestaged.
- Performs subsequent processing on the server
to direct the client to the proper unattend file and domain join
settings (if these have been configured).
- Authenticates the client, based on the
credentials entered in the UI or in unattend settings.
At this point, the session between the client and server switches to encrypted RPC. After the server has the client’s credentials, image enumeration occurs during a secured session.