Configuring Transport Server

Updated: January 6, 2009

Applies To: Windows Server 2008 R2

This topic explains how to use the Transport Server role service in Windows Server 2008 R2. You can use Transport Server to network boot, multicast data, or both.

If you are running the initial release of Windows Server 2008, see Using Transport Server.

You need to install the Transport Server role service, prepare the files for network boot, and configure the server (using the following four procedures). After you complete these steps, you will be able to network boot a computer into Windows Preinstallation Environment (Windows PE). If you want to use the server for multicasting, you will also need to follow the steps in the Use Transport Server to multicast data section.

  1. Open Server Manager, click Add roles, and click Next.

  2. Select Windows Deployment Services, and click Next twice.

  3. Clear the check box for Deployment Server so that only Transport Server role service is selected, click Next, and then click Install.

  4. When the installation is complete, click Close.

  1. Right-click the folder, click Properties, and on the Sharing tab, click Advanced Sharing.

  2. Select the Share this folder check box, and in the Share name box, type REMINST (by default, it is set to RemoteInstall).

  3. Click the Permissions button, and click Add.

  4. Ensure that the name of the server is shown after From this location. If it is not, click Locations, click the server name, and click OK.

  5. In the bottom text box, type authenticated users, and then click OK.

  6. Ensure that Authenticated Users have Read permissions and remove permissions for Everyone.

  7. Click Add, type SYSTEM; Administrators, click OK, and give these users Full Control.

    If your computer is joined to a domain, you need to add the domain Administrators account for this step instead of the local Administrators account.

  8. Click OK to exit the dialog box.

  1. Obtain the Boot.wim that is included in the Windows Automated Installation Kit (Windows AIK). Note that you should not use the Boot.wim that is included on the product DVD.

  2. Mount the second image in the boot image to a local directory by using the following syntax:

    Dism /Mount-Wim /WimFile:<path_to WIM_file> /index:<image_index_number> /MountDir:<path_to_mount_directory>

    For example: Dism /Mount-Wim /WimFile:C:\test\images\boot.wim /index:2 /MountDir:C:\test\offline

  3. Create the following directory on a partition other than the system partition: RemoteInstall\Boot\<ia64|x64|x86>.

  4. Copy the contents of <mountdirectory>\Windows\Boot\PXE in the boot image (for example, C:\test\offline\Boot\PXE) to RemoteInstall\Boot\<ia64|x64|x86> on the Windows Deployment Services server.

  5. If you are booting x64-based computers, do the following. Otherwise, skip this step.

    If you are booting x64-based computers, you must complete these steps or the computer will not boot.

    1. Locate the x86-based Boot.wim from the Windows AIK.

    2. Create the following directory on the Windows Deployment Services server: RemoteInstall\Boot\x86\Images. This folder must exist even if it is empty.

    3. Copy the contents of <mountdirectory>\Windows\Boot\PXE in the x86-based boot image (for example, C:\test\offline\Boot\PXE) to RemoteInstall\Boot\x86 on the Windows Deployment Services server.

  6. Copy the file at %systemroot%\system32\reminst\boot\boot.sdi on the Windows Deployment Services server to RemoteInstall\boot\boot.sdi on the Windows Deployment Services server.

  7. Unmount the image. For example:

    DISM /Unmount-Wim /MountDir:C:\test\offline /commit

  8. Copy your Windows PE images (these must be marked as bootable) to RemoteInstall\boot\<ia64|x64|x86>\images.

  1. Click Start, right-click Command Prompt, and click Run as administrator.

  2. Run the following command to configure the Transport Server PXE provider:

    reg.exe add HKLM\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE /v ProvidersOrder /t REG_MULTI_SZ /d WDSSIPR /f

  3. Create an environment variable named REMOTEINSTALL that points to your RemoteInstall Folder. For example:

    SET REMOTEINSTALL=<Full Path to your RemoteInstall folder>

  4. Set the TFTP root to point to the RemoteInstall folder by using the following command:

    reg.exe add HKLM\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSTFTP /v RootFolder /t REG_SZ /d %REMOTEINSTALL% /f

  5. Use Notepad to edit the Wdssipr.dll.conf.ini file at %systemroot%\system32\wdssipr.dll.conf.ini as appropriate. This file contains settings for the server (for example, it contains settings for how the server should answer clients, and it provides a way to prestage computers). View the file for information about the settings that you can configure.

  6. Start the server by running WDSUTIL /Start-TransportServer.

The server is now configured and you can boot a computer into Windows PE. If you want to multicast data, use the instructions in Use Transport Server to multicast data to create a namespace, and then connect a computer to the namespace.

This section provides instructions for how to create a namespace and then connect to it to transfer data to a client computer.

Before you begin, you should set the IP address range, and then set the multicast session policy. Set the IP address range by doing one of the following:

  • If you are using Multicast Address Dynamic Client Allocation Protocol (MADCAP) for IP addresses, run:

    WDSUTIL /Set-TransportServer /ObtainIPv4From:DHCP

  • If you are using a defined range for IP addresses, run one of the following:

    WDSUTIL /Set-TransportServer /ObtainIPv4From:Range /Start:<start Ipv4 Address> /End:<end Ipv4 Address>

    WDSUTIL /Set-TransportServer /ObtainIPv6From:Range /Start:<start Ipv6 Address> /End:<end Ipv6 Address>

    If multiple servers are using multicast functionality on a network (Transport Server, Deployment Server, or another solution), it is important that each server is configured so that the multicast IP addresses do not conflict. Otherwise, you may encounter excessive traffic when you enable multicasting. Note that each Windows Deployment Services server will have the same default range. To work around this issue, specify static ranges that do not overlap to ensure that each server is using a unique IP address.

Set the multicast session policy as follows:

  • To automatically disconnect clients that fall below a threshold, use the following syntax: WDSUTIL /Set-TransportServer [/Server:<name>] /MulticastSessionPolicy /Policy:Autodisconnect /Threshold:<threshold in kbps>

  • To separate clients into two or three multicast streams based on their speed, use the following syntax: WDSUTIL /Set-TransportServer [/Server:<name>] /MulticastSessionPolicy /Policy:Multistream /StreamCount:{2|3}

    You can append /Fallback:{Yes|No} with either of these commands to determine the behavior of clients that are disconnected or demoted.

To transfer data by using multicasting, you must create a namespace to define how the data is transferred. For example, you must manually set the names for the data and data groups and the path to the folder that contains the data.

To create a namespace with Transport Server, you need the following:

  • A content provider. You can use the Windows Deployment Services content provider (named WDS) that is included when you install Transport Server. Or you can create your own content provider by using the tools in the Windows SDK.

  • Data to transmit. You can transmit any data that your content provider knows how to find (for example, operating system images, data files, or an MP3 archive). The Windows Deployment Services content provider knows how to find any file within a directory.

  • Familiarity with WDSUTIL. The only way to manage Transport Server is through the WDSUSTIL command-line tool.

  • Routers. The routers in your environment must support multicasting.

You can create Scheduled-Cast and Auto-Cast namespaces. For more information about each parameter, see the Options section later in this document.

  • To create a Scheduled-Cast namespace, run:

    WDSUTIL /New-Namespace [/Server:<server name>] /Namespace:<namespace name> /FriendlyName:<friendly name> [/Description:<description>] /ContentProvider:<name> /ConfigString:<config string> /NamespaceType:ScheduledCast [/Time:<YYYY/MM/DD:hh:mm>] [/Clients:<number of clients>]

    For example:

    WDSUTIL /New-Namespace /Server:MyWDSServer /FriendlyName:"Custom Scheduled Namespace" /Namespace:"Custom Scheduled 1" /ContentProvider:WDS /ConfigString:D:\Images /NamespaceType:ScheduledCast /Time:"2006/11/20:17:00" /Clients:20

  • To create an Auto-Cast namespace, run:

    WDSUTIL /New-Namespace [/Server:<server>] /FriendlyName:<friendly name> /Namespace:<namespace name> [/Description:<description>] /ContentProvider:<name> /ConfigString:<config string> /NamespaceType:AutoCast

    For example:

    WDSUTIL /New-Namespace /FriendlyName:"Custom AutoCast Namespace" /Namespace:"Custom Auto 1" /ContentProvider:WDS /ConfigString:D:\Images /NamespaceType:AutoCast

Now that you have created a namespace, you must connect a computer to the namespace to transfer data. Computers join a transmission by using Wdsmcast.exe (a command-line tool that is included in the Windows AIK). Wdsmcast.exe can only be run from Windows PE 2.1 or Windows PE 3.0.

  1. Use DISM to add Wdsmcast.exe and ImageX.exe to the Windows PE image that is located on the server at RemoteInstall\boot\<arch>\images\. Wdsmcast.exe and ImageX.exe are located in the Tools\<arch> directory of the Windows AIK, and you can add them to any location in the boot image.

  2. Boot the client into the Windows PE image.

  3. Run the following command from the computer that you want to transfer the data to:

    WDSMCAST /Transfer-File /Server:<server name> /Namespace:<namespace name> /Username:<domain and user name> [/Password:<password>] /SourceFile:<file path> /DestinationFile:<file path>

    For more information about these options, run WDSMCAST /?.

The following are the most commonly used commands for a configured server that is running Transport Server. For more information about each parameter, see Options.

  • To start the transmission, run:

    WDSUTIL /Start-Namespace /Namespace:<name>

    To start a transmission, the transmission must be a Scheduled-Cast namespace, and there must be at least one client that has requested the transmission of data.

  • To display information for the clients that are connected to a namespace (for example, computer name, MAC address, IP address, speed, and percent complete), run:

    WDSUTIL /Get-Namespace /Namespace:<name> /Details:Clients

  • To remove a namespace, run:

    WDSUTIL /Remove-Namespace [/Server:<server name>] /Namespace:<namespace name> [/Force]

    For example:

    To remove the namespace after current client downloads are complete, run: WDSUTIL /Remove-Namespace /Namespace:"Custom Auto 1"

    To remove the namespace immediately and stop any current client downloads, run: WDSUTIL /Remove-Namespace /Server:MyWDSServer /Namespace:"Custom Auto 1" /Force

  • To stop a client installation completely, run:

    WDSUTIL /Disconnect-Client /ClientID:<id> /Force

    You should use this option with caution because the installation will fail and the computer could be left in an unusable state. You might consider using this option if you do not recognize a client and you are concerned about security, or if you are very concerned about bandwidth.

  • To discontinue the download for a client but continue to transfer the image through another method (such as SMB copy), run:

    WDSUTIL /Disconnect-Client /ClientID:<id>

  • To view the client <id> for each namespace, run:

    WDSUTIL /Get-Namespace /Namespace:<name> /show:clients

The options in the following table apply to the previous sections in this document: "Steps for creating a namespace" and "Common commands."


Option Description

/Server:<server name>

Specifies the name of the Windows Deployment Services server. This can be the NetBIOS name or the fully qualified domain name (FQDN). If not specified, the local server is used.

/Namespace:<Namespace name>

Specifies the name of the namespace to create. This name must be unique among the namespaces on the server.

/FriendlyName:<friendly name>

Specifies the friendly name of the namespace. This name does not need to be unique.


Specifies a description of the namespace.


Specifies the name of the content provider that supplies data to the multicast server. If you are using the Windows Deployment Services content provider, specify WDS.

/ConfigString:<config string>

Specifies the configuration string for the content provider. If you are using the Windows Deployment Services content provider (WDS), specify the path to the directory where content is stored (for example D:\Photos\Landscapes). This path can be anywhere on the server.

/NamespaceType: {AutoCast|ScheduledCast}

Specifies the type of namespace to create.


Specifies the time on the server when the namespace will start (allowed only for Scheduled-Cast).

/Clients:<Num of Clients>

Specifies the number of clients to wait for before the namespace will start (allowed only for Scheduled-Cast).


Deletes the transmission—even if there are current client installations. If you do not specify /Force, the transmission will be in the Delete Pending state. (After client downloads are complete, the transmission will be removed.)

Community Additions