Understanding Windows 7 Deployment Backwards

What was the last operating system you deployed?…I’ll bet it was Windows XP and I bet you needed a bunch of 3rd party tools and experienced tons of pain to get to the end point.   With the right (free) tools it’s really easy to deploy Windows 7 though and you can self select just how much control and complexity you need depending upon the size of your deployment and how dynamic your infrastructure is.  When you first look at deployment though you might see the alphabet soup as a real turn off and feel it’s all too complex.  Here I’ll try to demystify it somewhat, covering deployment, data migration and application migration.

The Windows 7 deployment technologies build on each other and actually fit together like a jigsaw to present the whole picture.  Most guides to Windows 7 deployment start out explaining the underlying tools and components of a deployment but I think we sometimes need to picture the end goal first.  So what are the factors you need to consider?

Understanding the picture

To start out you need to determine what type of environment you have, who’s doing the deployment and even what the behavioural norms are of your users.  For example you might be in a position where you need to do everything for your users; either they don’t want to make backups and install Windows or they don’t have the capabilities (time / technical inclination).  Alternatively all your users might be highly skilled technical experts who need plenty of flexibility.  Either way the solutions are quite simple to build and maintain with the latest tools.  One option is to use the MAP toolkit to understand your environment.

The next thing you need to determine is the size of your environment and what tools you already have deployed.  If you’re on the medium to big size you’ll probably already have some System Center components deployed to manage your datacentre, servers and possibly your applications and operating system deployments.  If you’re on the medium to small end of the scale you probably have a bunch of those 3rd party tools cobbled together to provide a solution or you'll be looking for something simple to deploy.  I’ve been intentionally vague with “small”, “medium” and “big” because they all depend on your self view.  Normally we consider “small” to be <100 and “big” to be >500 but I think you can self select better than that.

Do you have System Center?

With these few pieces of information we start identifying what type of deployment you need.  The next key consideration is if you’ve got System Center deployed.  If you do your Windows 7 deployment will be best with System Center at the helm leveraging MDT.  This will give you the ability to do a zero-touch or full automated deployment of Windows 7.  If you don’t have System Center deployed and you’re large enough that management has become a significant overhead then you’ll probably want to use your Windows 7 deployment to spearhead a System Center deployment to help take control of your environment.  System Center isn’t a fixed requirement though.

No, no problem!

What if you don’t have System Center in place?  Well then you’ll be looking at a tool called MDT (aka Microsoft Deployment Toolkit 2010 Update 1) which takes away lots of deployment pain for you and helps you deliver a dynamic and maintainable Windows 7 deployment environment.  It’s also free!  What MDT alone cannot do for you is provide a zero-touch Windows 7 deployment instead it provides a lite-touch (or semi automated) approach that does most of the work for your users.

Friends of MDT

Under MDT there’s another level of tools packaged up in something called the Windows Automated Installation Kit (better known as WAIK) which provides lots of the tools used by MDT to get the job done.  You’ll occasionally need to dip into this level to do more advanced things with your Windows 7 deployment (like service your images from the command line) and the WAIK actually includes a program for taking system images called ImageX.  If all you wanted was a very basic, repeatable installation of Windows 7 you could get away with just using WAIK but if you’ve got more than about 100 PCs you won’t want to go there.

Again to support an MDT based distribution you’ll need a couple more elements, a SQL Server and a Windows Deployment Services server (WDS).  For a SQL server it’s perfectly OK to use SQL Server Express or to use an existing managed SQL Server installation.  The SQL Server will house the configuration data used to dynamically provision computers.  WDS is a role of Windows Server 2008 and is used to provide PXE boot services (you can use a boot DVD if you need to install your customised Windows 7 install too).  WDS can also deploy XP and Vista, so you can move to a unified deployment infrastructure and it supports multi-stream multicasting, so if you use multi-cast deployment slower clients don’t slow faster clients.

So far we have key decisions made: Lite-touch or Zero-touch, dynamic deployments or static deployments but there are a couple more key considerations when thinking about your deployment, data and applications.

The data…

The data consideration drives whether you’ll need to migrate data from your users laptops or not and this in turn drives how you’ll migrate data if needs to be migrated.  If your users are storing data on their local machine you probably need to migrate it somewhere and you might well need to migrate their user settings too.  To achieve this you will want to use USMT 4.0  (User State Migration Tool) which is a component of WAIK.  USMT allows you to migrate users settings and files by either copying the files off the PC to a network share (which you might want to do it you want to take the opportunity to create a point in time backup of the users stuff) or to use hard link migration.  Hard link migration is cool!  It basically allows you to mark files to persist on the hard disk during migration to Windows 7 which saves you time and space by not having to move the files to a network share and back to the target PC again.  If you have technically savvy, or independent users you might want to use the Windows Easy Transfer too built into Windows 7 to transfer the files and settings as USMT isn’t user configurable so it’s conceivable you could miss stuff.  It is however the best approach to use en masse.

The apps…

Application compatibility is your only other real consideration.  You need to be sure that all the applications you need to deploy on your Windows 7 PCs will work on those PCs.  Again for that there’s a tool, ACT (Application Compatibility Toolkit) which can analyse your environment and tell you what applications are compatible and where they aren’t you can then workout a remediation strategy.  For example you could virtualise the application with XP mode and Virtual PC or App-V or if required with Med-V create an entirely virtualised desktop.

Why Dynamic deployment matters

Dynamic deployment really matters when you take application and data migration into consideration because the chances are that you can’t deploy purely to green field (new laptops and new users).  In fact you’ll probably have three deployment types as a minimum:

  • New – a new user and a new laptop = nothing to migrate
  • Replacement – an existing user and a new laptop = data and possibly apps to migrate
  • Refresh – an existing user and an existing laptop = data and apps to migrate

In addition to those different scenarios your users probably have their own individual application requirements and if you went for a purely imaged based route you wouldn’t be able to install applications as needed and you’d have multiple images and quite a management problem.  Finally you will want the advantages of dynamic deployment to help manage driver and patch updates without having to rebuild your image constantly.

Summary in a picture

Finally I thought I’d try to simplify with the use of a picture, let me know if it works for you or not…it doesn’t cover everything but it tells part of the story.

Win7 deployment simplified

Key resources to help you develop skills

MDT – Microsoft Deployment Toolkit – the easiest way to do a dynamic Windows 7 deployment

WAIK – Windows Automated Install Kit – mainly provides a tool set for the likes of MDT but you can use the tooling directly

MAP – Microsoft Assessment Planning Toolkit – can be used to understand your environment before deploying

WDS – Windows Deployment Services – you’ll use this for basic over the network installs and to provide PXE boot functionality.

USMT – User State Migration tool- for migrating users files and settings automagically

Springboard – THE place to learn about Windows 7 deployment.

Free eBook: Deploying Windows 7 Essential Guidance from the Windows 7 Resource Kit and TechNet Magazine – if you need all the in depth details, this is brilliant

How we did it, deploying Windows 7 at Microsoft

What do you think?