When performing Scripted Installations from the KACE K2000 appliance driver availability assistance is offered when drivers are copied from the K2000 appliance driver repository onto the target machine for use during the setup process. Conversely, when performing image deployment the onus is on the administrator to include all needed drivers in the image. This can be done with a few simple steps.
Note: This applies to the sysprep tools that are used with deploying Windows XP operating systems. This does not apply to deploying Windows Vista or 7 operating systems.
Adding Drivers to the Image
For default Windows drivers needed during a traditional OS setup, the i386 directory on the Windows XP CD is the typical location to use; however, unless that has been included that in the image and sysprep has been informed on where to locate this repository it won’t be available for use. To resolve this issue the i386 directory can be copied from the Windows XP CD to the sysprep folder on the target machine (e.g., C:\sysprep\i386). Once that is complete, the following should be added under the [Unattended] section of sysprep.inf:
For drivers specific to the PC models within your environment, a repository should be created on the target machine and sysprep should be informed of this repository. While many tend to create a hierarchical directory structure that is based off of machine models, the following methodology is suggested as it coincides with the default directory structure on the K2000 appliance drivers share:
\Drivers--\Component----\Vendor------\Component modelAn example would be:\Drivers--\L (for LAN drivers)----\in (for Intel NICs)------\pro1000 (for NIC model)------\pro100------\proxgb Notice that the drivers are being broken down by component first, then by vendor, then by component model. Grouping initially by component (rather than PC model) helps in eliminating redundant drivers; for example, many different PC models can use the name NIC driver. A sample component list would be similar to the following:
C for Chipset
CPU for Processor
G for Graphics
L for LAN
M for Mass Storage
MO for Modem
S for Sound
W for Wireless LAN
The recommended short naming convention is used in order to not exceed the character limit within the sysprep.inf file. There is a ceiling of 4096 characters (Hyperlink to - the Microsoft webiste) when using the OemPnpDriversPath line in sysprep.inf. This line is not recursive so every directory path must be specified – if multiple lines are given they must be separated by semicolons. This line is also included in the [Unattended] section (assumes the Drivers directory is at the root of the drive):
[Unattended] InstallFilesPath=C:\sysprep\i386 OemPnpDriversPath=Drivers\L\in\pro1000;Drivers\L\in\pro100;Drivers\L\in\proxgb
Once the drivers are in their respective places and sysprep.inf has been correctly modified, the image that is captured will be flexible enough to handle many different PC models, thus reducing the overall number of images within the environment. Remember that the OemPnpDriversPath line will need to be updated each time new drivers are added.
For most of the population the above stated material will work just fine and meet their needs. There is an alternative method to providing a custom driver list and that is done via the registry. The DevicePath key in the registry is the ultimate destination for the driver paths listed within the OemPnpDriversPath value in sysprep.inf. Placing the driver paths directly into the registry eliminates the need for this value in sysprep.inf and also elevates the character ceiling allowed (from 4096 to over 64000 characters). The DevicePath key resides in the following location:
These values can be added manually but there is also the option for an external utility to expedite this process. The Sysprep Driver Scanner can be found here and there is usage syntax available on that page. The Sysprep Driver Scanner can search through the path specified and recursively find and list all directories found in the DevicePath registry key. Please note that this utility is not officially supported by KACE but has been found to be helpful in its application.