Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Endpoint Management Community Blog

A Windows 7 Upgrade Brain Dump

Created: 25 Aug 2010 • Updated: 14 Sep 2010 • 10 comments
ianatkin's picture
+6 6 Votes
Login to vote
So, the rush is on. Everyone wants to upgrade to Windows 7 right? Only the reasons for this aren't particularly compelling. On the back of my post-it note I have,
 
  1.  XP is old
    Microsoft is rightly proud of XP's longevity, but the fact it still lingers with such tenacity across the enterprise has also become an embarrassment. It's persistence only serves to highlight how few Enterprise Vista migrations there have been.
     
  2. Vendors potentially dropping back on XP Support
    It will start to happen. Vendors are being forced now into supporting 3 major Windows desktop operating systems (not to mention the x86 and x64 variants), and they too can't wait for Microsoft to drop one of them off the list. This is not just applications I'm talking about, but drivers too.
     
  3. Windows 7 looks sexy
    We can't help it. We're all suckers for a pretty (inter)face. Windows 7 is certainly a major advance on XP, and we're not just talking resource hogging eye-candy with no real benefit either. Windows 7 actually feels nice.
 
What is missing in all the above, as many have pointed out, are the great business benefits which we'll get when we upgrade to Windows 7 (apart from  continued OS and vendor support of course). And I wish I could gather together this great list of business boons which will result from those many man hours of slog to deliver the great upgrade, but alas I can't. All we require of our OS is stability and security so that the application layer can run those business processes. XP already provides this. And that's a problem.
 
So are there other reasons to upgrade? Well there is that horrible total cost of owning (i.e. maintaining) those computers in the enterprise, the TCO. Is Windows 7 so much more manageable that great savings will leap forth? Ahh. No. Not really. And to me this was a shock. Yes, there are some great articles out there on Windows 7 and how Powershell will save your life, but heck we've all got scripts up our sleeve for those WMI tricks anyway. And finally a System Restore that works? Brilliant. In the enterprise though, if a problem is so serious a restore is needed, a rebuild is often faster, and more reliable longer term.
 
All of us know that in the end, we will upgrade. The reasons aren't great, but upgrade we must. And, if we're honest, we'll all probably do it with a smile.  We're simply so damn pleased we're not upgrading to Vista.
 
So, here are some tips for all those pursuing the great upgrade path,
 
  1. Download and start using the Microsoft Windows Automated Installation Kit
    Yes, I know its a HUGE download considering all you really want to do is edit an XML file. Do it anyway. This will help you prepare unattend.xml for your scripted Windows 7 installs, and sysprep.xml files for your sysprep deliveries.

    I wish I could say that sysprep is a well oiled beast in Windows 7. I can't. I can cheerfully tell you though that it is complex as hell, and a right bugger to work with. Working with XML is never easy, and although the WAIK will write it for you it doesn't actually help much with examples of how to write it. There is no wizard to direct you through the right passes for scripted installs versus sysprep setups. So, how to put that jigsaw together is up to you. The internet (and Connect) is your friend.
     

  2. Use sysprep images
    Windows 7 has sysprep built in. Build your computer/virtual machine and take a vanilla image. Then just use DS to upload the image, this time using the built-in sysprep functionality in Deployment Server. You can then deliver that image with sysprep either using the default xml file, or your own. That part is really very easy.
     
  3. When playing with your XML files, start small.
    Yep, bigger is not better. Your sysprep and scripted install XML files will give you hours, and hours of pain if you try to dive in at the deep end. Start simple, and increase your component features slowly. Use version control on your XML, so when something breaks you can always go back to a good point and try again. When I say version control, all I mean is a notepad of changes and postfixing XML files with rev1, rev2 etc. Keep it simple -you'll be confused enough I assure you.
     
  4. Be Smart -Use a VM
    Don't test your XML files by re-delivering the sysprep image for each trial. This will result in at least a 30-minute test loop for each revision. Deliver the sysprep image to a virtual machine, and then power it down (before it boots into Windows 7 for the mini-setup), and take a snapshot. You can now create a job just to deliver your XML file to the computer in automation, so now you can just keep reverting your snapshot every time you want to test a new revision.

    If you must use a physical machine, use a hidden partition with a local image store if you can.
     

  5. Be Smart -Don't use PXE
    For testing, you will drive your self nuts counting bars as you wait for WinPE to trickle down by PXE. Use a CD, Flash drive or ISO image. Life is too short. In short, use anything but PXE for testing.
     
  6. Use WinPE automation
    I'm not sure anything else actually works for delivering Windows7 at the moment with Altiris!
     
  7. Consider 64-bit
    There are many out there who think that 32-bit computing is dying, and I'm afraid I'm one of them. People are now running more apps then ever on their desktops, and these apps are consuming more and more memory. Its now not uncommon to find desktops and laptops in the enterprise with 4GB of RAM but still running a 32-bit OS. Consider using the Windows 7 upgrade as a vehicle for moving also to a 64-bit OS.
     
  8. Identify Business Critical Apps
    This is a biggie. You need to start testing those business critical apps now, so that you can raise issues urgently with vendors if need be. This means for many actually identifying those business critical apps, and separating them from the user wish-list application pool. Testing takes time, and having a business driven triage is the sensible approach. Read Ed's Blog.
     
  9. Use Connect!
    There are loads of us out there who can help, and even better we want to. Share your experiences, problems and solutions on Connect. Even though people may never explicitly thankyou for it, you can bet your bottom dollar that if you've hit a problem and found a solution, there will be others out there who will benefit from your brain dumps. Sometimes, even when a solution can't be found it nice to know you are not the only one ;-)
Now, I know i've fallen out of the mass-media pattern in the above. I'm talking about Windows 7, but have used nine items in the above list. That might be one of those seven deadly sins I keep hearing about. And thanks to belonging to a species with  10 fingers and toes, I've also run foul of the golden rule that every list should have 10 points. Just so you can tick them off on the available appendages. So, depending where you're coming from you've got two extra points for free (lucky you), or I owe you one.....

Oh, and if you've ever wondered whether its possible to dream unattend XML files, I can assure you that now, thanks to Windows7, it is.

Note: After Matt flagged up that his HII can use Linux, I tested Linux uploads and downloads of Win7 images on DS6.9SP4 and all is zippy and works well.

Comments 10 CommentsJump to latest comment

KSchroeder's picture

Your article, slightly shorter than Ed's!   Still quite informative.  My coworker who is messing with our Win7 build was showing me how Microsoft is again emulating Apple...the folder where the SysPrep files are stored is called "Panther".  We both thought that was rather amusing...(ok, well we're sick IT nerds...you know the feeling!)

Thanks,
Kyle
Symantec Trusted Advisor

For Forum threads, please click "Mark as Solution" if answered.
For all content, please give a thumbs up if you agree with or support the post.

+1
Login to vote
ianatkin's picture

I did write a bigger one naturally. On Panther, I must admit I did wonder at the whole Panther naming. Sure MS will report that it's purely coincidence....

Ian Atkin, IT Services, Oxford University, UK

Connect Etiquette: "Mark as Solution" those posts which assist you most in resolving your problem, and give a thumbs up to useful articles and downloads

-6
Login to vote
MBHarmon's picture

Not sure if you've tried Linux or not for you boot option, but we've been able to make our Windows 7 imaging work with the Linux boot option with PXE and it's cut our time to image in half from what we had with WinPE (of course part of that is because we were initially testing with WinPE via PXE.  ouch)

Part of what makes it work might also be that we're using HIIS from Altrinsic instead of the Driver Library model that Windows 7 has included.

RE: Panther - I'm sure at Microsoft nothing is a coincidencewink

- Matt

-1
Login to vote
ianatkin's picture

Damn..... seems something is amiss in my environment. When attempting to image a Win7 system with Linux automation, it refuses saying the disk is corrupt. Trying to image the same disk with WinPE had no problems. Thanks for bringing that to my attention -will see what I can do to resolve that now that I know it is possible.

At the moment we actually need WinPE as we're reliant on DISM to,

  1. Apply the occasional msu to the image
  2. Inject drivers for our HII 

I love Linux automation, but with Windows7 I've got a lot more background work to do before I can replace the DISM function in Linux.

Kind Regards,
Ian./

Ian Atkin, IT Services, Oxford University, UK

Connect Etiquette: "Mark as Solution" those posts which assist you most in resolving your problem, and give a thumbs up to useful articles and downloads

-4
Login to vote
ianatkin's picture

Hi Matt,

Tested today on my DS6.9Sp4 box and Linux capture and deploys are OK. Will post an correction to the above blog. Handy we're about to go ahead with a Linux Automation group on Connect!

Kind Regards,
Ian./

Ian Atkin, IT Services, Oxford University, UK

Connect Etiquette: "Mark as Solution" those posts which assist you most in resolving your problem, and give a thumbs up to useful articles and downloads

+1
Login to vote
MBHarmon's picture

So is it just the Driver Injection that's not working then?

- Matt

+2
Login to vote
ianatkin's picture

Hi Matt,

Yeah -I don't have driver injection working under Linux for Windows 7. The only way I know of injecting drivers into the driver store is using DISM, which requires a WinPE script to implement.

The files all go into the repository under C:\Windows\System32\DriverStore, but it's all internally indexed so I can't see how to get this injection through under Linux.

Any ideas?

Ian Atkin, IT Services, Oxford University, UK

Connect Etiquette: "Mark as Solution" those posts which assist you most in resolving your problem, and give a thumbs up to useful articles and downloads

+3
Login to vote
Andrey Shipov's picture

Hi

I deploy Windows 7 Pro 32 with PXE and Rdeploy in DS 6.9 SP4.

Only network drivers are supplied in the image and rest are installed using dpinst.exe from shared location when PC boots to windows after sysprep.

Andrey

Andrey Shipov
IS Infrastructure Senior Engineer
Manchester, UK

-1
Login to vote
ianatkin's picture

Hi Andrey,

Missed you at the user group meeting!

With dpinst - Yep, this sounds right. I saw that other people used dpinst (driver package installation kit) but as I also wanted the flexibility to add packages too offline. So, I decided to use the mothership tool -DISM. This allows a deeper manipulation of the image which I could see myself using.

Downside is that I had to install XML components into WinPE to get those damn .msu injected...

The issue I am left with really is that I prefer Linux for deployments. And I have a real problem getting the HII implementation to work under Linux with Windows7. With XP, you could just inject the PnP drivers into a folder structure and the mini-setup would do the rest.

With Windows7 this doesn't appear to be possible. Drivers can only be injected with the tools provided, and these are Windows-based. The file copy approach doesn't work anymore.

So, its a right pain.

The only way round this I can see is to monitor the driver injection process reverse engineer the changes to the driver database. With that, we can perhaps build a script in Linux to duplicate the process....

 

Ian Atkin, IT Services, Oxford University, UK

Connect Etiquette: "Mark as Solution" those posts which assist you most in resolving your problem, and give a thumbs up to useful articles and downloads

+1
Login to vote
ianatkin's picture

Hi Andrey and Matt,

I think I've got you now. In order to use Linux, you can use DPINST to install PnP drivers on first boot, and then mass-storage drivers can be taken care of off-line as required using DISM.

Takes me a bit of time, but finally I get there ;-)

Kind Regards,
Ian./

Ian Atkin, IT Services, Oxford University, UK

Connect Etiquette: "Mark as Solution" those posts which assist you most in resolving your problem, and give a thumbs up to useful articles and downloads

+2
Login to vote