I am just filing this article for later reference and anyone else who might find it useful.
When using Microsoft System Center Configuration Manager for Operating System deployment and image management your primary aim is to create an operating system image that is hardware independent or otherwise known as a golden image. This term refers to the idea that the system image can be deployed out to any hardware configuration based on the same processor architecture, and in turn saving you time not having to make multiple images and maintaining different versions just to match the hardware you’re deploying too. Using the WIM image format greatly assists this process as it provides an image file format that is serviceable in realtime.
Obviously if we are using an image captured to the WIM format, the first step before capturing is to make sure the system has been prepared for capture using the Sysprep tool built into Windows.
When developing the unattended XML that Sysprep will process, the following two configuration settings will be very useful in enabling your image to not keep device history or driver cache.
- PersistAllDeviceInstalls – http://technet.microsoft.com/en-us/library/cc722095.aspx (causes all devices to uninstall during generalize pass and then attempt to reinstall during specialize pass)
- DoNotCleanUpNonPresentDevices – http://technet.microsoft.com/en-us/library/ff715820.aspx (causes devices that are no longer present in the system to be removed – removal of non-detected PnP devices occur when specialized pass runs)
Both these configuration settings are defined in the generalize pass and are activated during the specialized pass. Both settings work together to create specific outcomes regarding retained device installations.
If both values are defined as true the Sysprep process is generally faster and would be suitable where the image is for a specific hardware configuration. To create a scenario where you want to make a hardware independent image and let System Center install devices during a Task Sequence (on the fly) then both these values need to be defined as false.