It’s been almost three years since I wrote a post about the Microsoft Solution Accelerator for Business Desktop Deployment (BDD) and since then it’s been updated twice – first with BDD v2.5 and now with BDD 2007 (the latest version of which is now known simply as Microsoft Deployment).
According to Microsoft:
The Solution Accelerator for Business Desktop Deployment (BDD) is best-practice guidance for desktop deployment. BDD is targeted at companies that want to reduce deployment time, effort, and cost by increasing the level of automation. It allows administrators to deploy desktops with Zero Touch and Lite Touch interaction at the target PCs. This solution also helps organizations move to a managed environment with standardized desktop images.
Effectively, BDD is a framework that brings together a variety of deployment tools with business logic in order to implement best practices. In it’s simplest form, known as Lite Touch Installation (LTI), BDD allows administrators to create/capture operating system images, customise these and deploy them to other workstations. This requires very little infrastructure and as such is suitable for small and mid-size business; however there is also a Zero Touch Installation (ZTI) option that integrates with Microsoft Systems Management Server (SMS) 2003 or System Center Configuration Manager (SCCM) 2007 for enterprises that have the required infrastructure in place.
Supported on Windows X, Server 2003, Server 2003 R2 and Vista, BDD can be used to deploy Windows clients, together with applications (e.g. Office 2007) and customisations. Available in both x86 and x64 editions (with both versions supporting installation of clients on either architecture), BDD 2007 is finally looking like a product, rather than a collection of tools glued together with scripts and HTML applications. There’s still a few strange interfaces, but the hub of BDD 2007 is the BDD Workbench – an MMC 3.0 snap-in. Other requirements for BDD are Windows Script Host (WSH) 5.6 and it also makes use various other tools that may be downloaded from within the BDD Workbench:
- Windows Automated Installation Kit (WAIK).
- Application Compatibility Toolkit (ACT) 5.0.
- User State Migration Tool (USMT) 3.0.
- MSXML 6.0.
- Key Management Server (KMS) (and associated management pack).
- Volume Activation Management Tool.
- Office Migration Planning Manager.
- Windows Vista Hardware Assessment
After installation of BDD (supplied as Windows Installer .MSI file, together with a quick start guide and deployment tools overview – both of which are worth reading), the primary folders are held in %programfiles%\BDD 2007\ and consist of:
- \BIN – BDD Workbench console and supporting files.
- \Documentation – documentation.
- \Downloads – storage for components downloaded by BDD 2007.
- \ManagementPack – BDD management pack files.
- \Samples – sample task sequence scripts.
- \Scripts – scripts used by the BDD Workbench.
- \Templates – master template files used for defaults in unattended Windows installations.
- \Temporary – temporary storage space.
Other tools (e.g. the WAIK and ACT) add their own folders to the BDD file structure.
The installation also creates a \Distribution folder on the drive with the largest amount of free space (or at a custom location supplied during installation). This contains the following subfolders and except \Scripts and \Tools are empty at installation time:
- \$OEM$ – files and folders to be copied to the destination computer during Windows Vista setup.
- \Applications – any application files that are installed as part of deployment.
- \Captures – images captured using ImageX.
- \Control – storage of files used by the BDD execution engine.
- \Operating Systems – any operating system files that are installed as part of deployment.
- \Out-of-Box Drivers – driver files not delivered by default with Windows Vista.
- \Packages – Windows Vista-compatible packages for installation with the operating system (security updates, language packs, service packs, etc.) in cabinet file (.CAB) or Windows Update (.MSU) format.
- \Scripts – scripts used by the Lite Touch deployment engine.
- \Tools – tools used by the deployment engine and the location of USMT source files.
Configuring BDD to deploy an operating system and applications consists of:
- Install BDD.
- Update/install additional components (e.g. WAIK, USMT) from within the BDD Workbench.
- Add one or more operating systems to the distribution share from within the BDD Workbench. This could be a full set of source files, a custom image (.WIM) file (i.e. an image captured from a reference computer) or an image from a Windows Deployment Services server. This operation can either copy the installation or move it from another location.
- Add any applications to the master image from within the BDD Workbench – applications can be moved/copied to the distribution share or existing locations may be referenced via a UNC path. Specify any application settings (e.g. command line switches for a silent installation, or a working directory).
- Add any additional device drivers that are required within the master image, using the BDD Workbench. The BDD tools will look for .INF files in the process of scans all subfolders in the specified directory.
- Add any additional packages, such as operating system updates and language packs, using the BDD Workbench.
Once the master image is established, it’s necessary to define one or more builds. Each build has an identifier (which must not contain spaces) as well as a name and a number of associated comments. The build defines an operating system, along with key details such as product keys and the Administrator password and, once created, the build properties can be amended to customise settings, optionally launching the Windows System Image Manager to edit the unattend.xml file that controls the Vista installation.
Finally, the deployment point must be configured:
- Builds may be deployed using the local BDD distribution point (shared as \\%computername%\Distribution$), a separate share on the local or a remote computer, as a .ISO image for use on removable media (DVD, USB flash drive, etc.), or via SMS 2003/SCCM 2007 (which facilitates ZTI installations). Note that SMS 2003 requires the SMS 2003 Operating System Deployment (OSD) Feature Pack whereas SCCM has OSD functionality built into the product.
- Various options exist to control the user experience during deployment (e.g. the selection of other applications during installation).
- It may be necessary to create/update the Windows pre-installation environment (WinPE) images that are used to connect to a deployment point. The resulting .WIM files (found on the distribution point in a \Boot folder) can be added to a Windows Deployment Services (WDS) server as a bootable PXE image for bare-metal deployment whereas the .ISO file equivalents can be mounted in a virtual machine or booted from removable media. During the creation of these images, tasks are logged in %temp%\DeployUpdates_x86.log. Generic images are generic_x86.wim and generic_x86.iso.
At this stage, BDD is ready to deploy builds to workstations; however there are some additional capabilities:
- It is possible to define a SQL Server database to store details of deployed computers.
- Images may be captured using BDD deployment points such that there is no requirement to separately run SysPrep or ImageX. The Windows Deployment Wizard (invoked from the Windows PE images created earlier) automatically runs both of these utilities in order to prepare and capture an image.
Michael Niehaus recently wrote an article for TechNet Magazine on Deploying Windows Vista with BDD 2007 which covers many of the points in this post, plus a few more.
Please, could you help me? first of all, thanks a lot for your procedure. Unfortunatelly, I have problems with to add my images *.wim in BDD , I have a WDS Server configured and working, but, simple users (administrator works) can’t specify a machine name when them do a Wds’s image download. So, I need bdd to edit this unnattended file and change, because, I need give them this permission. If I try with my password, works fine! So, backing, my doubt is, I m trying to Add one operating system to the distribution share from within the BDD Workbench, but when I try to add my image of my server, the system give a message error “the source directory specified does not contain as identifiable system” Could you give me some advice. Thanks a lot. Luciana