I thought I’d document how to setup the new sysprep process equivalent on Windows 2008 since the old setupmgr file for making sysprep.inf’s doesn’t exist anymore (and neither does sysprep.inf).
The first step is acquiring the Windows Automated Installation Kit (WAIK) from somewhere. You can get it from Microsoft’s website, MSDN subscriber downloads, and probably the volume licensing downloads site too I’d guess (though I haven’t checked). The ISO is available at http://www.microsoft.com/downloads/details.aspx?FamilyID=94bb6e34-d890-4932-81a5-5b50c657de08&DisplayLang=en, and is about an 800MB install on my 2003 SP2 x86 box.
You’ll also need to copy the install.wim from your 2008 DVD sources folder to the hard drive as the tool won’t work with it if it doesn’t have write access.
The tool of choice is the Windows System Image Manager (WSIM). When you start it you’ll get a blank screen like this:
The first step is to catalog the image file. You can do this from Tools>Create Catalog, selecting your install.wim and then what image(s) to catalog. I’m setting up 2008 enterprise so I selected the appropriate option. The final three choices are the server core variants:
All of the settings you will want to setup in your unattend.xml file are in the tree under Windows Image. The documentation for all the settings can be found at http://technet2.microsoft.com/WindowsVista/en/library/69eee519-55a6-440d-ab94-56330ef57e291033.mspx. This link http://technet2.microsoft.com/WindowsVista/en/library/71b576bd-cca6-466f-a1db-16500be3098f1033.mspx shows a mapping table between the sysprep.inf file and the new unattend.xml format.
All of the various settings can be applied during different passes of the setup process which sysprep will trigger. You can read about these passes here: http://technet2.microsoft.com/WindowsVista/en/library/7cc1b17c-8cc6-4cb4-a652-fe7c5e40a29c1033.mspx. I built a simple unattend file just for sysprep’ing my base image which includes settings in the generalize, specialize, and oobeSystem passes. All of the settings I chose are outlined below.
My answer file tree:
Disabling the initial configuration dialog:
Disabling auto-starting the server manager application:
Setting my product key, timezone settings, and my name:
Configuring the screen resolution and color depth – 1280×960 is what works in VMWare full screen mode with the tabs across the top:
Configuring setup not to show me the EULA again:
Configuring setup to install a default local administrator account password:
One of the things I discovered doing this is that unlike sysprep from Windows 2000 – 2003, the unattend.xml file isn’t deleted at the conclusion of the sysprep process. Recall that downlevel sysprep deletes the c:\sysprep folder when it finishes. In order to replicate this functionality, you can put a command in to delete the unattend.xml file in the SetupComplete.cmd batch file (which must be located in c:\windows\setup\scripts\) which gets called at the end of sysprep. See this link for more info – http://technet2.microsoft.com/WindowsVista/en/library/9cc0e504-9924-4543-89ae-7430906d85e71033.mspx?mfr=true.
I put a simple one line command in my SetupComplete.cmd file:
del /Q /F c:\windows\system32\sysprep\unattend.xml
In order to run sysprep you’ll need a new command. The old sysprep UI that was there in Windows 2000 – 2003 doesn’t really exist anymore. All of the sysprep command line switches are documented at http://technet2.microsoft.com/WindowsVista/en/library/72cc64e2-a0f3-4516-84fc-097577127fc91033.mspx.
sysprep /generalize /oobe /shutdown /unattend:sysprep.xml
So far this process is working fine for me with Windows 2008 Enterprise x86 full installs. I haven’t tried it with server core yet, but if it’s different I’ll post something about that. I’m inclined to believe given how new and different this process is to me compared to the previous process that there may be some updates to this post over the next several months as I learn the in’s and out’s of the sysprep process in Windows 2008.