Although the Windows OS has evolved significantly over its lifetime, the Windows installation process has remained virtually unchanged. Media containing compressed versions of the files comprising the OS are installed and uncompressed one by one, then the install process detects hardware and performs configuration. Likewise, the method of network installation, Remote Installation Services (RIS), has changed little since Microsoft introduced it in Windows 2000. The Windows installation process is slow, both over a network and via physical media because it requires the installation and configuration of numerous small, isolated components one at a time. This design has the advantage of isolating each component so it can be easily changed without affecting the rest of Windows, but it also produces a lengthy installation process.
All this has changed in Windows Vista. In developing the Vista installation process, Microsoft went back to the drawing board. All Vista installations use an imaging process, which essentially allows a reference machine to be installed and configured, then executes a program (usually Sysprep) to wipe machine-uniqueness information and prepare the OS on the machine for duplication, and finally captures the reference system's contents to a file, which contains the OS to deploy on clients.
To better support this image deployment environment, Microsoft created Windows Deployment Services (WDS), which is a new deployment tool that replaces RIS and is compatible with Vista's new Windows Imaging Format (WIM). Although these technologies have made installing Windows much easier, there's still a lot to learn, so let me walk you through the process of preparing your custom OS installation image and deploying it to client machines over the network.
WDS runs on Windows Server 2003, and will be a core part of Windows Server 2008 (formerly code-named Longhorn). It's available as part of the Windows Automated Installation Kit (WAIK), which you can download from http://www.microsoft.com/downloads/details.aspx?FamilyID=c7d4bc6d-15f3-42849123679830d629f2&DisplayLang=en, and although it's a very large download (more than 800MB), it includes everything you need to deploy Vista, including:
The WDS update for Windows 2003 SP1 servers with RIS. You must install RIS prior to installing the WDS update on Windows 2003 servers in both 32-bit and AMD 64-bit versions
Whitepapers and documents about using WAIK and WDS
Vista-based Windows PE (WinPE) environments, which help you create bootable media to capture and deploy images
The Windows System Image Manager, which you use to create the automated answer XML files that you can use with WDS and to add or modify components (e.g., drivers) in the images
Various tools including the ImageX command-line tool, which you use to capture and deploy WIM images, as well as mount WIM images to the file system to enable easy manipulation of the WIM content
After you download and install the WAIK, you need to install WDS on the Windows 2003 server from which you'll deploy the OS image (if you're running Windows 2003 SP1—Windows 2003 SP2 comes with WDS). To install WDS, navigate to the WDS folder of the WAIK media and run the .exe file for the processor type (i.e., 32-bit or 64-bit) update. Accept the license agreement and reboot your server.
WDS on Windows 2003 runs in one of three modes—Legacy, Mixed, or Native—to enable backward compatibility with existing RIS-based installations that you might still need to deploy and support. To learn more about these modes, see the Webexcusive sidebar "WDS Server Modes," http://www.windowsitpro.com, InstantDoc ID 96099. You can check which mode a server is running in by right-clicking the server in the Microsoft Management Console (MMC) Windows Deployment Services snap-in (which you'll find in the Administrative Tools menu after you install WDS) and selecting Properties. The mode is shown on the General tab, as Figure 1 shows. You can also check the mode by using the following command:
wdsutil /get-server /show:config
To run in any mode other than Legacy, you'll next need to configure WDS. (Note that WDS on Windows 2008 will support only Native mode and deploy only WIM OS installations.) You can configure WDS by using either the command line or the Windows Deployment Services snap-in. For this article, I outline the snap-in method, so launch the snap-in from the Administrative Tools menu and perform these steps:
Right-click the WDS server and select Configure Server, which opens the Windows Deployment Services Configuration Wizard. Click Next.
The wizard displays the network requirements (i.e., the computer must be member of an Active Directory—AD—domain, you must have a DHCP server and a DNS server on the network, and you need an NTFS partition for image storage). Click Next to indicate you have these prerequisites.
Enter the path to a folder where you'll store the images that WDS will use, which best practice dictates shouldn't be the system drive (and your system will warn you if you enter such a path). Click Next.
On the DHCP Option 60 screen, you'll see options to make WDS listen on port 60 rather than the regular port 67 and to configure DHCP to tell Preboot Execution Environment (PXE) clients to communicate on port 60. If DHCP is installed on the WDS server, you need to select the Do not listen on port 67 option. If you're using Microsoft DHCP, also select the Configure DHCP option 60 to PXEClient; otherwise, you'll need to manually configure the option on your DHCP server.
Next, select options for how the WDS server responds to clients (i.e., respond to no clients, known clients, or all clients), depending on the security of your environment. There's also a suboption that requires WDS to wait for administrator approval before responding to unknown computers. Click Finish.
You now have the option to add images. I prefer to clear the Add images to the Windows Deployment Server now check box and manually add the images later. Click finish.
Add the Boot Environment
You now have a WDS environment, but you're missing two critical components: a bootable environment to which to send the PXE clients to allow the deployment of images and the Windows images themselves. WinPE is the environment WDS uses to deploy images, and although the WAIK installs a WinPE version that's based on Vista into the Tools\PETools\
You can add a new WinPE boot image to WDS by right-clicking the Boot Images
leaf in the left panel of the WDS snap-in and selecting Add Boot Image. After
you specify the name and location of the boot image to add (e.g., D:\sources\boot.wim),
click Next and enter a name and description. The default is the name contained
in the WIM file, for example, "Microsoft Windows Longhorn Setup (x86)." However,
you can change the name to anything you want (e.g., "Microsoft Windows Deployment
Services environment"). Then select the WIM images to install (although the
WinPE WIM image file consists of only one image), and click Next to copy the
WIM file to the Boot\
Add the Installation Image
You now have a boot image that clients can use to boot via PXE into the WDS deployment environment. The next step is to add an OS installation image, which in this case is Vista. To add the image, open the Windows Deployment Services snap-in, right-click the Install Images leaf of the navigation panel, and select Add Install Image. You'll be prompted to select an Image Group to add the image to or to create a new Image Group (e.g., Windows Vista). Click Next and select the name of the WIM file to import (e.g., the install.wim file in the Sources folder of the Vista DVD). Remember, WIM files are an XML type format that can contain more than one image. The Vista WIM file contains all the available versions of Vista (except Enterprise). However, because the different versions share much of the same content, the WIM format can take advantage of Single Instance Storage (SIS) technology and the total file size is smaller than you'd expect. Clear the check boxes of the versions you don't want to make available. When finished, click Next to display a summary of the selected versions. Accept by clicking Next, and the Add Image Wizard will perform an integrity check on the selected WIM file and import the images.
Now when you boot a PXEenabled client, you're prompted to press F12 to boot to WDS (which will be familiar to users of RIS). Select the basic language settings and the credentials to use in the domain. Then select an OS from the list of OSs known to WDS, as Figure 2 shows, and click Next. You'll be prompted for a partition to install to, then WDS will install the OS, asking minimal information such as registered owner and time zone information.
There's also a version of the boot ROM that doesn't require you to press F12. To use that version, right-click the WDS server in the Windows Deployment Services snap-in and select Properties. Select the Boot tab. Click the Browse button next to the appropriate client architecture, and select the .n12 version of the boot ROM (e.g., instead of pxeboot.com, use pxeboot.n12). Now, you'll no longer need to press F12 to boot to WDS.
Discover Images and Unattended Installs
You now have a WDS installation that can deploy Vista over the network, but what about machines that can't boot over the network? WDS has a bootable media (called Discover boot image ) for machines that don't natively support booting over the network. The Discover boot image CD-ROM lets you avoid having to load WinPE over the network. To create a Discover boot image CD-ROM, right-click the Windows 2008-based WinPE under the Boot Images section of the Windows Deployment Services snap-in and select Create Discover Boot Image. Enter a location and filename for the new WIM file, along with the WDS server to contact for OS images, as Figure 3 shows.
Next you convert the WIM to an ISO file so that you can burn it to a CD-ROM to enable bootable deployment. To convert the WIM file, follow the steps outlined in the article "Windows Deployment Services Update Step-by-Step Guide for Windows Server 2003" at http://technet2.microsoft.com/Windows-Vista/en/library/9e197135-6711-4c20-bfadfc80fc2151301033.mspx?mfr=true.
Finally, how do you avoid having to enter information during the installation? The WAIK includes the Windows System Image Manager, which lets you create the XML answer file that stores custom settings and automates OS installations. The use of the Windows System Image Manager is beyond the scope of this article, but you can find instructions and a list of settings and values in the "Unattended Windows Setup Reference" Help file that ships as part of WAIK.
In the initial WDS stage in which you select the OS that you want to deploy, you assign the answer file you created by selecting the Properties of the WDS server. Under the Client tab, select the Enable unattended installation and select the answer XML file for the architecture. To select the answer file for a particular image, right-click the image and select Properties from the Install Images, Image Group section. Then under the General tab, select the Allow image to install in unattended mode and select the XML install file to use (which must be part of the RemoteInstall folder structure where images are stored). You can now deploy Vista without having to enter information with each installation.
Getting Better All the Time
WDS is a powerful component of Windows 2008 and Windows 2003, giving us a unified method to deploy both server and client OSs. If you've been using RIS, then WDS will be far more intuitive. The next step is to look at the Business Desktop Deployment (BDD) 2007 solution accelerator which builds on technologies such as WDS and Microsoft Systems Management Server (SMS) to help in the complete desktop deployment experience, including inventory of existing systems, application packaging, hardening the desktops, and following a best practice deployment. The BDD will be the focus of a future article.