Share via


Microsoft Deployment and multicast

Cliquer ici pour une version en Français

You may be aware that Microsoft improved Remote Installation Services (RIS) on Windows Server 2003 by providing a fully manageable component now called Windows Deployment Services (WDS).
You may also know now that Windows Server 2008 brings to WDS support for multicast, something awesome for large deployment that will make you gain time and bandwith !

So, Microsoft Deployment supports multicast. Yes... I'm more and more surprised by the power of what you can do by using all the new deployment tools together (yep, they work together !).

Definitively nothing more easy than adding multicast functionnality to MDT when you understand a bit how it works and here is what you should know to implement it.

 

First, you should meet the requirements :

  • Have a box with Windows Server 2008 (for the moment we are at RC1)
  • Install Windows Deployment Services from the Server Management console (it's a role)
  • Install the WAIK RC1 for Windows Server 2008
    • This release contains the wdsmcast.exe which is the tool used to manually "join" a multicast session
  • Install Microsoft Deployment on this server

You must have at least one operating system injected as a "Full set of source files" in your deployment point or a captured WIM file injected as a "custom image file" with setup files to let a deployment runs fine.

Then, on the deployment point's properties select the option "Enable multicast for this deployment point (requires Windows Server 2008 Windows Deployment Services)".

  • This option allows the MDT to create a dedicated namespace (or multicast session) in WDS when the deployment point will be updated. This namespace will target the deployment point share and not the WDS share named REMINST.

 

Well, how it works now when you boot under WinPE ?

You may know that when a Lite Touch scenario is played from a WinPE image, the script LiteTouch.wsf is first called to begin to handle all that stuff you configured through the Deployment Workbench. I will not detail the role and actions of this script but you should know that the MDT uses several scripts to manage the tasks defined by default in Task Sequences.
So, the specific task of applying an operating system (full set of source files or custom WIM image) onto the target computer is handled by the script LTIApply.wsf.

Here we are... As far as I know, the LTIApply.wsf first try to transfer the files through multicast by searching for wdsmcast.exe on known paths. It will be found on the deployment point in .\Tools\x86 (or .\Tools\x64 if you run under a x64 WinPE) and this tool will automatically try to transfer the image by joining the multicast session provided by the WDS server through the custom namespace.

  • If wdsmcast.exe or a namespace are not found the normal process is executed : ImageX is used to apply the WIM file

At this point, LTIApply.wsf looks for setup files in the deployment point in the path of the Task Sequence of the operating system you're deploying in order to run setup.exe with the unattend.xml associated with the image.
If setup files are not found with the image selected, LTIApply.wsf will look for them in all other Task Sequences' folders present in the deployment point.

So you're done ! The deployment will continue and you have been using multicast as you can see in the WDS MMC console with the percentage of progression of the image transfer !

 

Note : the release of Windows Server 2008 and the next version of the WAIK are planned to the end of february. If you have access to a TAP, RDP or Beta program, you should be able to download the WAIK.
Windows Server 2008 RC1 is available here.

Note : Windows Deployment Services can be implemented on Windows Server 2003 with the Service Pack 2 or by the Out of the Box update available in the WAIK.

Note that this procedure is provided "as is" with no warranty nor supportability engagement. It does not engage Microsoft at all.
Nevertheless if you consider this not clear, incomplete or inadequate, please let me know !