Automating Windows 7 Installation for Desktop and VDI Environments

by Greg Shields


Installing Windows 7 isn't just about migrations. It's about daily management. It's about rapid deployment to fix problems. It's about provisioning virtual desktops in a VDI infrastructure. With today's technologies for user virtualization and application virtualization, fixing some IT problems can be fastest accomplished by simply rebuilding the computer. For all of these reasons, the outwardly simple process of installing Windows grows to become a much more critical activity than ever before. Installing Windows through automated means is even more important. That's why this book exists. While installing Windows the manual way requires as few as seven clicks and a bit of time, fully automating its installation requires quite a bit more effort. You need a project plan to get you started and a cookbook of step-by-step solutions to finish the job.

In Automating Windows 7 Installation for Desktop and VDI Environments, you'll deep dive into the steps required to automate Windows 7 installation. But you won't stop there. You'll dig deep into the ways in which that automated installation will fundamentally change how you do IT. You'll learn exactly how to automate Windows for an OS migration project, whether from Windows XP or Windows Vista. You'll discover the steps to wrap your automated installation into a VDI infrastructure, enabling virtual desktops to be provisioned automatically and on-demand. You'll learn the tips and tricks for layering the Windows OS, enabling you to fix common IT problems by simply rebuilding the user's computer - all while maintaining their applications and profile information and without needing to resort to roaming profiles.

Keep this book handy. You will find yourself turning back to it again and again as you fully automate one of the most time-consuming parts of your job: Windows 7 Installation.


Chapter 1: Installation Fundamentals: Automatically Deploying Windows without Customization

You've just been handed a new project to migrate your desktops to Windows 7. Congratulations! That's a big job; one that's sure to make you look good to your peers and your bosses-if you get it right.

Among IT projects, none so dramatically impacts users than a desktop operating system (OS) upgrade. With it, users get new icons and a new desktop look and feel, not to mention a few new ways of accomplishing their daily tasks. That's something they can see, feel, and touch. Completing an upgrade project successfully means doing so without a major interruption to the flow of your users' workday.

In contrast, doing a poor job means leaving a bad taste in the mouth of your business. That bad taste makes down-the-road upgrades that much more difficult to get approved. If your company can't see value in an OS upgrade-or if they see more pain than value-you'll surely be stuck at this OS version for far longer than you want. And businesses have long, long memories.

That's why this book exists. Although installing Windows the manual way requires as few as seven clicks and a bit of time, that manual method is rife with pain and trouble. Fully automating the installation of Windows 7 requires a bit more up-front effort, but the result is a more seamless process-that just works. Better yet, that same process will continue to benefit you for years to come, creating a platform for quickly refreshing computers whenever necessary. All you need is a project plan to get you started and a cookbook of step-by-step solutions to finish the job. You'll get exactly that in these pages.

In the next few chapters, I'll show you the steps required to automate Windows 7 installation, click-by-click. But we won't stop there. I'll dig deep into the ways in which that automated installation will fundamentally change how you do IT. You'll learn exactly how to automate Windows for an OS migration project, whether from Windows XP or Windows Vista. You'll even discover the steps to wrap your automated installation into a VDI infrastructure, enabling hosted virtual desktops to be provisioned automatically and on-demand. More importantly, you'll learn tips and tricks for layering the Windows OS, enabling you to fix common IT problems by simply rebuilding the user's computer-all the while maintaining their applications and user profile information.

Best, you'll learn how to do all of this using Microsoft's no-cost deployment solutions. Admittedly, these solutions might not be the slickest ones around, but they're free. In addition, they are overloaded with an alphabet soup of three- and four-character acronyms whose complexity makes them a "why bother" for many IT pros. But wade through the silly acronyms and the overly-complicated Microsoft documentation, and underneath it all is a powerful automated deployment solution. I'll help you navigate, showing you which features to use and which to avoid.

Keep this guide handy. In it are the step-by-step instructions you'll find yourself turning back to again and again as you fully automate one of the most time-consuming parts of your job: Windows 7 installation.

Chapter 2: Creating a Universal Image that Installs Everywhere

As you complete the steps from the previous chapter, you're absolutely ready to start deploying Windows 7 images. They're not terribly customized images yet, but they'll work. Once deployed to desktops, these images will look almost exactly like the generic Windows 7 installation you would install directly from the DVD media.

There's nothing wrong with a generic image, especially considering that many of us have used the walk‐around‐the‐office‐DVD‐in‐hand approach for years. But there's also nothing particularly automated about them. Worse yet, these images aren't truly universal. If the computers to which you're targeting the images need a set of drivers that aren't on the DVD media, they might not work properly. Let's think for a minute about what this solution lacks:

  • Driver injection. Windows 7 comes with a massive stack of drivers right inside its DVD media. But computers today usually need their own custom drivers over and above the defaults. Our solution doesn't yet have a way to inject those custom drivers into our images.
  • Automating the WinPE phase. Remember that deploying an image requires a boot image as well as an install image. Currently, our boot image asks us a set of questions we'd prefer not to answer, things like locale, keyboard, username and password to deployment server, operating system (OS) to install, and disk partitions. Real automation means answering these questions beforehand and letting our solution do the work.
  • Automating the set up Windows phase. Even after answering all of WinPE's questions, there's still a full second set of questions required by the Windows installation itself. The Set Up Windows wizard asks for a username and password, to accept the license agreement, configuration settings for Windows update, and time and time zone settings. We also want these questions answered beforehand, so we can zip past this manual step.

Thus, our solution is indeed still incomplete. It hasn't evolved yet to using a universal image, one that can install everywhere. Nor is it fully automated so that it takes care of the heavy lifting on our behalf.

There's good news: It is possible with today's Windows 7 deployment technologies to add these three capabilities with not much extra effort. I'll show you how to do just that in this chapter. As with the previous chapter, I'll be supplying you with a receipt to get started. I'll then point out a few places where you can explore on your own for even greater automation. Let's begin with the drivers.

Chapter 3: Techniques in Installing Applications during Windows Deployment

Chapter 2 covered the first six steps in creating a fully‐automated and universal Windows 7 image. With those six steps, you're ready to start deploying Windows with fully‐automated ease. However, you can probably imagine that there's an important piece of this deployment that's still missing: the applications.

In this chapter, I'll discuss two very different techniques that you can use to install applications onto Windows 7 desktops during a deployment. I'll start by explaining the thick approach, and will then begin the dive into a discussion of the layered approach.

The thick approach is probably similar to how you've been handling applications. Using the thick approach, you create one or more master images that contain the operating system (OS) along with any applications you want deployed. Once created and configured to your liking, this master image is captured back to your WDS server and later redeployed to computers around your network. The approach is called thick because the images grow large as applications and configurations are added.

The thick approach with master images has long been used because it is easy to comprehend. Simply create an image, make any configuration changes, install and configure applications, and finally capture that image back to the deployment server. Although the approach requires extra steps, it is easy to visualize what the user will get when the captured image is redeployed: If you created it on the master image, the user will get it.

Chapter 4: Layering Applications On Top of Deployed Windows Images

The previous chapter offered a half‐chapter of step‐by‐step Automating Windows 7 Installation content. In that chapter, you learned about Step Seven of the deployment process: where you can customize your basic Windows 7 images—those right off the DVD media—through the deploy‐modify‐capture method commonly called the thick approach. I mentioned that at the conclusion of Step Seven you're absolutely ready to begin deploying images. Step Seven and those prior give you everything you need to be successful in deploying Windows 7 using that thick approach. Rejoice!

Yet the second half of Chapter 3 focused less on the step‐by‐step; it was dedicated towards pointing you in the direction of a new and arguably smarter approach: the thin approach. Using the thin approach, applications, customizations, and user data are not configured directly on the image; instead, those changes are layered on top of a basic image. They're deployed using other tools. One tool that is commonly used (at least among Microsoft's nocost options) is the Microsoft Deployment Toolkit (MDT).

This chapter will reposition your Windows 7 deployment solution inside the framework of the MDT to gain added flexibility in deployment. Yes, we'll for a minute lose some of the automations that we've worked so hard to implement; but we'll replace them with a much more capable interface for the real needs of our project. And don't worry, I'll help you add those customizations back by the book's conclusion.

In this chapter, you'll learn how to install and initially configure the MDT, how to deploy an image, and how to link applications to that deployed image. At its conclusion, you'll see why the thin approach can be far superior to its thick alternative in dealing with applications. Time for an applications diet.

Chapter 5: User Virtualization: Tools and Techniques in Preserving User Data

We're getting ever closer to that full solution for automating Windows 7 installation. To this point, you've learned about the image deployment process. You've experienced how to create your own universal images. You've even discovered how to layer applications into those images, a process that converts an administratively‐challenging thick image into a much‐cleaner thin image.

But, if you recall back in Chapter 3, the many layers of a complete Windows instance (shown again in Figure 5.1) aren't complete with just the applications. Layering over the top of those applications are specific configuration changes and even user personality information that you'll need to incorporate for success.

Figure 5.1: Layering Windows OS deployment.

In short, if your users don't find all their data on their new Windows 7 computer, they're not going to care about all its nifty new features. That data is to them more important than any new operating system (OS). Without it, your Windows 7 deployment project will not succeed.

Chapter 6: Automating Application Inventory and Overcoming Incompatibility

Step Eleven, covered in the previous chapter, really concludes the "deployment" activities in Windows 7 deployment. By navigating through the first eleven steps, you know how to create and deploy images. You've seen how to layer applications on top of those images during deployment. You've also learned tricks you'll need to preserve important user data between old and new OS instances.

Congratulations! You're ready to start deploying!

Or are you? If you've been around the IT industry for long, you know that every OS upgrade is never as simple as it seems. Although deploying OSs is pretty easy, making sure applications work with that OS often isn't. Here's a chilling statement: Many of your applications that run just fine on Windows XP won't automatically run on Windows 7. Yikes.

You should already know some of the reasons that this is the case. Windows Vista and Windows 7 arrive with significant changes to their security model. These two OSs no longer grant applications and drivers direct access to the OS's most‐secure kernel code. The new security model along with a host of other updates make Windows Vista and Windows 7 significantly more secure than Windows XP. Significantly.

Unfortunately, those changes also mean many older applications—those that abused Windows XP's overly‐open and inviting nature—aren't going to work automatically. Some will require configuration adjustments. Others will need software "shims." Even others won't work at all.

Thankfully, Microsoft knows about the problem. To assist, they've created two tools (along with accompanying acronyms) that inventory your network and apply known fixes that'll make many applications work again. The first of these tools is called the Microsoft Assessment and Planning Toolkit (called the MAP). A simple tool, the MAP collects a list of applications and drivers on your network. With its data, you can identify the applications on your network and a list of drivers your computers will need. The second and more powerful tool is the Microsoft Application Compatibility Toolkit (aka the ACT), which assists in identifying and fixing incompatible applications.

Chapter 7: Creating a Complete Solution for Automating Windows 7 Installation

You should by now recognize this book's pattern of introducing new technologies and approaches into the Windows deployment story. That story involves plenty of layers, each of which builds on the infrastructure of the layer below. It started in Chapter 1 with the very basics of deploying images—and weren't those basics, indeed! The images back then weren't even customized. They were little more than the default configuration you get by Next, Next, Finishing your way through a manual installation.

The next chapters then led you through greater customization and introduced additional automations. By now, you've learned how to create single images that deploy everywhere. You've automated the installation of drivers, applications, and user state information. You've also discovered the MDT, and how its Task Sequences are the glue that ties your automations together.

Throughout this book, I've shown you how Microsoft's free solutions can accomplish necessary deployment tasks. Those free tools get you pretty far. Using them, you can kick off a relatively‐automated Windows installation with little effort and good results.

Yet even with substantial automation in place, there's always an underlying desire to fully automate everything. A complete solution for automating Windows 7 installation should take you out of the picture entirely. That solution should be able to upgrade or refresh computers without needing to touch them at all. This topic, the zero‐touch approach, is the final layer that creates your complete solution. Just like each of the previous chapters, getting there requires leaning on the infrastructure you've built up to this point.

There is, however, one downside: Taking that final step requires a new piece of software that isn't free. Getting to the complete solution, at least with today's options, requires assistance from Microsoft's System Center Configuration Manager (or ConfigMgr for short).

ConfigMgr isn't free, but it is valuable in ways that go beyond desktop deployment. If this book's exploration of automations for Windows installation excites you, then ConfigMgr's many automations for Windows management will excite you even more. It's a fantastic administrative tool with a long history, bringing much to the table in addition to OS deployment.

Before it can deploy operating systems (OSs), ConfigMgr must be installed. Its agents must also be distributed to your desktops. Doing so requires an exercise in design work and more than a few initial configurations. Those initial steps by themselves are a big topic. So in the interests of space, this chapter will assume you've already completed the setup activities. If you need assistance, numerous books and guides exist that'll get you started. As I begin this chapter, I'll assume you've already completed the installation of ConfigMgr and have deployed its agents to the computers on your network.

Chapter 8: Integrating Automated Windows 7 Installation into VDI Environments

When is a desktop not really a desktop? When it's a virtual desktop, of course!

From the user's perspective, a virtual instance of Windows 7 might look the same as a physical instance. But you're an IT professional. You're aware of all the extra forces working behind the scenes that are required to make that virtual instance happen. Virtualization, presentation, transport protocols, automated deployment, and snapshotting all comprise the virtual desktop administrator's toolkit for deploying even the most basic Windows 7 instance.

Complicating this process even more is the multitude of desktop virtualization solutions on the market today. VMware View, Citrix XenDesktop, and Microsoft Remote Desktop Virtualization Host represent three of the major players. They're not the only ones. "Smaller" alternatives like Quest, Wanova, MokaFive, NComputing, and others now release their own solutions that create a Virtual Desktop Infrastructure or VDI.

When it comes to Windows 7 itself, however, there is good news. What you've learned so far in this guide directly assists in creating virtual machines inside a VDI infrastructure, notwithstanding which vendor writes the software. No matter whose technology connects your users to VMs, the processes you now know for configuring Windows remain relatively the same. That knowledge makes my life easier as this book's author. It also makes your life easier if you've been following along throughout its pages.

That's why this chapter won't delve too deeply into the specifics behind each VDI platform. The exact clicks required to build a desktop template in Citrix XenDesktop are quite different than those inside VMware View. That same series of clicks will surely change within each product as they evolve over time. So, I'll leave the specifics to the vendor documentation.

Rather than focusing on the VDI products, this final chapter focuses on Windows itself. The reason? Windows 7, as you know, is designed to be an "everything for everyone" operating system (OS). Far from a single‐purpose OS, Windows 7 can just as easily be a home desktop for one individual as a virtual business desktop for another. The difference is in the tuning.

In this chapter, I'll share with you the high‐level process you'll use in preparing Windows 7 for VDI deployment. As you can imagine, many of these tuning suggestions remove the "extra" bits of Windows that contribute to its resource use. With VDI, many copies of Windows operate simultaneously on the same server. Thus, the task of eliminating unnecessary services and processes must be done to guarantee overall performance.

Finally, going down the virtual route adds the potential for a big win. Namely, VDI rewards smart administration. The smarter you are in tuning your Windows instances, the better they will perform in aggregate. The more resources you conserve inside each individual desktop leaves more available for others. Smarter administration in VDI means squeezing more desktops on fewer servers while still preserving each user's experience. In the end, with greater density, you'll get more out of less.