Windows Deployment Services Client Component
Updated: May 8, 2008
Applies To: Windows Server 2008
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
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.
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 server.
- Obtains a Windows Deployment Services client unattend file.
- 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 installation.
- 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.