Installing and Configuring WDS (Windows Deployment Services): Full Images Deployment (Part III)

At this point we’ve already installed and properly configured Windows Deployment Server on Windows 2003/Windows 2008 (Part I); and we created a full image (programs and features installed) on our Windows Vista and uploaded it to the server (Part II); the only thing missing is creating the answer files that will be used on the images to achieve the full unattended installation of our operating system.

For those using Windows Server 2003 SP1, we reviewed that among the requirements for WDS installation there was installing Windows Automated Installation Kit. This kit also gives us an important tool for the unattended files creation, the Windows System Image Manager.

So, it’s recommended for any other platform used on WDS to download this kit and install the System Image Manager. This tool it’s not a requirement for creating the unattended files.

Installing WAIK

Preparing the Files Using System Image Manager

System Image Manager provides us the way to, using the .wim (or .clg) file for an installation, select the components that are necessary within the answer files. This way we can be sure that the answer options selected are used on the right place at the right time:

  1. Open System Image Manager for Start Menu.

  2. Click on File and click on Select Windows Image.

  3. Select the .wim file that we previously created or just use the file from the installation media (install.wim).

    1. You can also select the catalog files (.clg): these are the specific files for each Windows Vista version (Home Ed, Enterprise, Ultimate, etc).

  4. To start creating, on the File menu select New answer file.

Adding a .wim or .clg files is not a requirement, but you won’t be able to validate or check the errors on unattended files that is not using an OS image as a reference.

For more information, visit the site Windows System Image Manager Technical Reference.

We’ll create two files that are necessary for a complete unattended image installation: WDSClientUnattend.xml and AutoUnattend.xml.

Note: All of the components that we’ll add here are associated to 32bit images because the installation file selected has that architecture. If we uploaded a 64bit image, you’ll see an answer file with x64 components.

WDSClientUnattend

Download WDSClientUnattend.xml example here.
(Change file extension from .doc to .xml to start using it or you can still open it as a Word file).

This is the first file used by WDS to respond to all the first configurations on the Windows PE: Disk partitions (creating, modifying) and selecting the image from WDS that we are going to install.

As you can imagine, all the components that we will add will go on Windows PE cycle:

  • x86_Microsoft-Windows-International-Core-WinPE_6.0.6000.16385_neutral\
    SetupUILanguage

  • x86_Microsoft-Windows-Setup_6.0.6000.16385_neutral\DiskConfiguration\
    Disk\CreatePartitions\CreatePartition

  • x86_Microsoft-Windows-Setup_6.0.6000.16385_neutral\DiskConfiguration\
    Disk\CreatePartitions\ModifyPartition

  • x86_Microsoft-Windows-Setup_6.0.6000.16385_neutral\DiskConfiguration\
    ImageInstall\OSImage\InstallTo

  • x86_Microsoft-Windows-Setup_6.0.6000.16385_neutral\DiskConfiguration\
    WindowsDeploymentServices\ImageSelection\InstallImage

  • x86_Microsoft-Windows-Setup_6.0.6000.16385_neutral\DiskConfiguration\
    WindowsDeploymentServices\ImageSelection\InstallTo

  • x86_Microsoft-Windows-Setup_6.0.6000.16385_neutral\DiskConfiguration\
    WindowsDeploymentServices\Login\Credentials

Here’s an example of all the components and values that can be inserted on the answer file. On the values I have set in here I’m doing the following:

– Setup and keyboard language: English
– Delete and create a single NTFS partition on root disk.
– The partition will take the complete size of the HD.
– Label: system.
– Installation Group: VistaInstallation. This is the group that we created when we uploaded the image.
– File: Install.wim. This is the name of the installation file that we uploaded.
– Image Name: This is the description name that we used on the installation that we uploaded.
– User and domain name that will be used to login and choose available images. No higher privileges needed on the user.

To confirm that the answer file has no errors, click on Tools and Validate Answer File. All the errors will be displayed and explained on the lower panel.

Once the file is validated click on Save and use the name WDSClientUnattend. This file must be stored inside the folder of installation files created by default: /RemoteInstall/WDSClientUnattend.xml

AutoUnattend

Download AutoUnattend.xml example here.
(Change file extension from .doc to .xml to start using it or you can still open it as a Word file).

This is the file that we are using to answer all the Vista configurations: Product key, computer name, domain joining, local users and passwords, etc.

The components that need to be added are the following:

Cycle 4: Specialize

  • x86_Microsoft-Windows-Shell-Setup_6.0.6000.16385_Neutral

  • x86_Microsoft-Windows-UnattendedJoin_neutral\Identification\Credentials

Cycle 7: OobeSystem

  • x86_Microsoft-Windows-International-Core_6.0.6000.16385_Neutral

  • x86_Microsoft-Windows-Shell-Setup_6.0.6000.16385_Neutral\OOBE

  • x86_Microsoft-Windows-Shell-Setup_6.0.6000.16385_Neutral\Themes

  • x86_Microsoft-Windows-Shell-Setup_6.0.6000.16385_Neutral\UserAccounts\AdministratorPassword

  • x86_Microsoft-Windows-Shell-Setup_6.0.6000.16385_Neutral\UserAccounts\
    LocalAccounts\LocalAccount\Password

Here’s an example of the values selected:

– ComputerName: If you set the value “*” on the computer name will be selected randomly (using RegisteredOwner value).
– The user name inserted in “Credentials” will be the user that will join the computer to the domain. No higher privileges needed for this user, but remember a normal user can only join 10 computers to the domain.
ProtectYourPc: If 1 establishes that the updates will be automatically downloaded and installed.
LocalAccount: User added here will be created locally and in this example is also member of the Administrators group.

To confirm that the answer file has no errors, click on Tools and Validate Answer File. All the errors will be displayed and explained on the lower panel.

Once the file is validated click on Save and use the name AutoUnattend. You can locate this answer file on any folder.

Note: A good thing about System Image Manager is that for each component that you have here, you can access to the description of it. If you have any doubt on the values that you are placing, take a look to the help file.

Associating Unattended Files

Now that we have the both files necessary, all we need is to associate each file to the images we are going to install:

1. Associating WDSClientUnattend.

a) Open the WDS console on your server.

b) On the servers listed on the snap-in, right click on the server name and select Properties.

c) Open Client and select Enable Unattended Installations.

d) According to the architecture where you created the image, browse for the WDSClientUnattend.xml file.

2. Associating AutoUnattend

a) On the Installation Images, open VistaInstallation.

b) Right click on the image that you uploaded and select Properties.

c) Select the option Allow image to install in unattended mode.

d) Click on Select File and browse for AutoUnattend.xml.

And there you go; you have the complete environment to install full and unattended images of Windows Vista.

You have to remember that at the moment of booting a client machine, once you’ve selected the WindowsPE image to boot, the complete installation process will not require any user intervention. If you have to select on clients different disk options or partitions, you can deselect the option where you choose the WDSClientUnattend file; with this you’ll get to manually introduce any changes on image selection and disk management.

Common Issue on x64 images and WDS

I’ve encountered that there are some scenarios that the 64bits images are not available for selection on a deployment, even though you have correctly uploaded to the WDS Server and the client supports x64 architecture.

The problem is that when the client connects to the WDS Server (soon after you pressed F12 to boot from the network) it doesn’t notify that it is x64 compatible client. And for the server, the client is just x86 compatible and the rest of the images do not apply for it.

To solve it:

1. Open a cmd on the WDS Server

2. Insert WDSUTIL /set-server /architecturediscovery:yes

And the next time any client contacts the WDS Server, will first notify about if is x64 compatible.

Hope you find this guide useful.

Installing and Configuring WDS (Windows Deployment Services): Full Images Deployment (Part I).
Installing and Configuring WDS (Windows Deployment Services): Full Images Deployment (Part II).

Cheers

37 Comments »

  1. Thanks for this blog. Clear and straight forward and I have had a modicum of success. I wonder if you would consider writing Part IV – Using WDS to deploy images created using MS Deployment Workbench. There are a lot of articles relating to using USB or DVD, but not many regarding WDS. The image created in Dep. Workbench doesn’t contain the same folders as a retail DVD.

    Many thanks

  2. this is really a very useful topics provider which is giving a very solid
    description about any things.
    I knew about th WDS which was really very userful.
    With thanks
    bharatgupta
    Allahabad
    India

  3. Hi there, good guide which helped me to deploy my Win7 via network for the first time. However, is there any way we can integrate USMT too with WDS unattended installation?

  4. Flaco, y cómo hago si quiero desplegar una imagen personalizada de Windows XP SP3? Cómo puedo hacer que el proceso sea desatendido? Debo generar un answer file con el sysprep para XP? O también lo hago con el Windows SIM de AIK, una vez capturada la imagen XP? Espero tu respuesta, mil gracias!

  5. HI Augusto,

    First of all thanks for this usefol howto, i have been able to roll-out wds and deploy w2k8 servers quicker than i thought.

    I am kind of stuck right now trying to deploy w2k3 boxes unattended. The MS doc states that you should create an $OEM$ folder structure under your images folders on WDS to put the sysprep.inf file for example, D:\RemoteInstall\Images\Windows XP\winxpsp2\$OEM$\$1\sysprep\sysprep.inf. I am refering to this article: http://technet.microsoft.com/en-us/library/cc766320(WS.10).aspx#BKMK_UsingUnattendFiles, obviously the GUI only accepts .xml typed files.
    I did so but still after deploying images i am getting the Setup Wizard and my sysprep.inf file is ignored. Would you by any chance have any tips?

    Best regards from Netherlands

  6. I used your howto to try to debug my WDS install. I’ve done exactly the same thing as you but WDS never sent the unattend file for the specific image. It always send the WDSUnattend file.

    For testing I’ve merge the both file, and my deploy went to the end, but I don’t know why it won’t use the specific file for my image.

    Do you know where I should look at ?
    Sybux

  7. Hi,

    Isnt possible to Copy to image file form client to server with out connect Server.if its, how to add images in server?

    Please let me know and how to set IP settings in WDS server.

    Isnt Working in VLAN?

    Regards
    rajesh

    • Hello Rajesh,
      The process for adding an image into a WDS Server is pretty simple, just place the WIM file in the server (or share it in a network location); right click the Images Group in WDS and select import image.
      Follow the wizard and after a few seconds you’ll have the image imported.
      Cheers!
      Augusto

  8. Hello,

    I was wondering, does the WDS install allow for specifying which programs are installed on the machines ie could we have an image of office in the install?

    Thank

  9. Hi,

    Your article is verygood. only a problem is that i’m not able to do these for windows xp no wim. WDS pxe boot file name resides on where ?

    Pls advise

    • Hello krishna,
      Natively Windows XP does not provide any WIM file, you can deploy XP using WDS but you must first create a WIM file from the OS. Remember also that Windows XP is a HAL dependent OS, meaning that if you capture an XP image to a WIM file you will only be able to deploy it in a machine with the same hardware.
      Cheers,
      Augusto

  10. Hello,
    Thanks very much for all of your WDS guides, Augusto! However, I do have a minor question I would like some help on. All of my unattend has worked, but now the computer is not being named. I left the unattend file answer blank for computer name as I have prestaged the computer in Active Directory. Before using these unattend files it would work great renaming it and joining it to the domain. However, now it is not successfully adding to the domain or changing computer name. It shows the logon screen like its in the domain but gives an error message anytime you try to use a domain account to logon. Any thoughts on this? Any help is appreciated.

    • More Information —-
      I added an asterik (*) to the computer name field in the answer file and it named the machine and joined the domain successfully – however it gave it a random name and did not give it the prestaged name. Any ideas?

      • Hi Augusto,
        Thanks for the quick response!!! I currently have the machine pre-staged in AD, but for some reason it is not pulling the prestaged name from AD. Since I added the unattend files after I prestaged, I deleted the machine from AD and re-pre-staged it with a new name using the GUID. I will post to let you know if this fixes the problem or not. I am just in the “testing” stage to see if WDS is a good solution for us. So far so good, but if I can get this figured out it will be great!

        Also, do you have any guides for XP images with WDS?
        Lastly, do you have any guides for driver packages with WDS?

        Thanks a ton!

  11. Hi Augusto,

    I have followed this tutorial and have everything setup perfectly except for naming the computer. I orginally had the WDS setup to name my computers the MAC address of each system. Since I switched to the OOBEUnattend file, this does not happen and I only get a random comuter name during setup.
    Is there a string to input in the unattend file that will produce the same result without having to prestage the computer accounts?
    Thanks a bunch!

  12. Hi Augusto,

    first of all thank you for this helpful how to..
    i tried all your instruction many times and i don’t know what is my wrong..
    Because i got a error message during deployment of image to a Pc client. It prompt me the error during the process of “installing update”, its says “operation failed with 0x80070002 the system cannot find the file specified”. here’s my screenshot http://i1148.photobucket.com/albums/o567/natzirt_tj/1.jpg… and when i press CLOSE or press OK it says another message here’s the screenshot http://i1148.photobucket.com/albums/o567/natzirt_tj/2.jpg… i hope u can help me?. very appreciate it.. thanks..

    • Hello Christian,
      Seems that the problem resides in the image you are using. Are you able to deploy a clean Windows image taken from the media?
      Are you adding any specific driver to the image?
      Cheers,
      Augusto

  13. Hi , I am currently following the blog , I have a quick question , during Deployment of Windows 7 using WDS , the client restart after ‘installing drivers’ and ‘restarts in 30 seconds’ to continue installation .I would like to know how I got skip this restart , and complete the deployment? Due to this the client start booting from PXE again hence getting into this loop. If i manually select the boot source , I am then unable to log in using any credential onto the client. Please help me.

    Kind regards
    Habinder Singh

    • Hello there,
      That behavior relies in the OS, and not in WDS. And also, starting directly using the network boot is a configuration you can set in the client computer. If you press “Esc” during the process of receiving a valid IP from PXE, it will ignore this process; also of course, you can change it in BIOS settings.
      Best regards,
      Augusto

  14. What boot image should I then boot to with my client? In what way is it associated with the install image? Thanks in advance /Thomas

Leave a comment