When using SCCM to capture a computer image (such as under Microsoft Deployment Toolkit 2008), it is sometimes necessary to provide a custom Sysprep.inf file to be used with the Sysprep process (the Prepare Windows for Capture step).
In our environment, for instance, we do not have the Sysprep process preload all of the built in drivers (the Automatically Build Mass Storage Driver List option) because of the amount of time it takes for that to occur. Instead, we use OEM drivers for most everything. This works great until we get to Virtual Machines (VMware and Microsoft) where drivers are not provided. Instead, we must use the driver from the OS. Since SCCM cannot force in a driver that is originally part of the OS, we must have a custom Sysprep.inf file configured to preload just those specific drivers.
It is not obvious, however, where to place that Sysprep.inf.
We discovered that the Sysprep.inf file should be placed into the SCCM package that holds the Sysprep.exe and associated files. SCCM copies this directory to the hard drive fo the system being captured and will make use of that Sysprep.inf file.
When deploying the image, you can specify a diferent custom sysprep.inf file in place of an unattend.txt file to customize the setup of the system. Under the Microsoft Deployment Toolkit 2008 way of doing things, this deployment sysprep.inf file is located in the same place as the CustomSettings.ini file.
Since the original sysprep.inf file used for capture will be replaced with the custom one, you need to make sure that you modify the deployment sysprep.inf file to include the [Sysprepcleanup] section so that unused drivers will be successfully removed. You can get this section by using IMAGEX to mount a captured image WIM file and locating the Sysprep.inf file in the \Sysprep directory. The section is usually located at the end.