Adding Drivers for Your POSReady Installation

2/16/2009

Your computer's storage devices might not be natively supported by Windows Embedded POSReady 2009. There are two primary ways that you can provide drivers for these devices in POSReady:

  • By pressing F6 during interactive installation
  • By creating an XML driver file to detect and install devices automatically

You can also use the /devicefile command-line switch to point to a XML driver file. For more information about the /devicefile switch, see POSReady Setup and the Command Line.

Adding Mass-Storage Drivers by Using F6

You can provide mass-storage device drivers during interactive installation by pressing F6. Use this driver scenario when installing by disc if POSReady does not detect your mass-storage device, or if you have a more recent driver than the version included with POSReady.

If you are installing POSReady from a USB flash drive, you can copy your third-party driver files to the \Drivers folder instead of pressing F6. The drivers will be available during POSReady Setup when you are prompted to provide mass-storage drivers. The drivers cannot be in the root \Drivers folder, you must put them in a separate folder, for example: X:\Drivers\ManufacturerName

How to add mass storage drivers by using F6

  1. Press F6 as POSReady starts.

  2. A message about the driver installation process will appear. Press S to continue installing drivers from a floppy disk.

  3. Insert the floppy disk that contains the mass storage device drivers that you want to install, and then press ENTER.

  4. A list of detected device drivers is displayed. Select the driver that you want to install, and then press ENTER.

  5. You can install additional drivers or continue with POSReady installation. Press S to install another driver, or press ENTER to continue installing POSReady.

  6. After you enter your product key and accept the POSReady Microsoft Software License Terms, the POSReady installer prompts you to install mass-storage devices if necessary. Insert the disk that contains the mass-storage device drivers and choose Next. If you installed more than one device, you will have to choose Back and repeat this procedure.

  7. If the POSReady installer cannot determine the correct driver automatically, you will have to select it from a list of drivers. Select the appropriate driver and choose OK.

Creating an XML Driver File

You can create an XML driver file to enable POSReady to detect and install devices that are not included with Windows XP Service Pack 3. This section includes XML schema definitions and examples. For more information about how to use an XML driver file and the /devicefile command-line switch to install POSReady, see POSReady Setup and the Command Line.

In addition to writing your own XML or using the /devicefile command-line switch, you can also use the INFImporter Utility that uses .inf files to generate a DriverInstall.xml file. The INFImporter Utility was created for Windows Embedded for Point of Service but it is compatible with POSReady. For more information about the INFImporter Utility, see this Microsoft Web site.

Your XML driver file must be enclosed within <Drivers> and </Drivers> tags such as the sample file in this topic.

Element Description

<AlwaysInstall>

Specifies which devices should always be installed even if they are not detected by Plug and Play

<AdditionalDevice>

Specifies which devices should be installed if they are detected by Plug and Play

Sample DriverInstall.XML

<Drivers>
   <AlwaysInstall>
      <Device Id="MF\COM4840_5x2_MSR" ClassId="{4D36E978-E325-11CE-BFC1-08002BE10318}" />
      <Device Id="MF\COM4840_5x2_SERIAL" ClassId="{4D36E978-E325-11CE-BFC1-08002BE10318}" />
   </AlwaysInstall>
   <AdditionalDevice ClassId="{4d36e972-e325-11ce-bfc1-08002be10318}" SourceDir="\\installfolder\drivers$\Drivers\D505\Wireless" >
      <!-- "Wireless Driver" -->
      <File Name="Setup.EXE" InstallDir="system32" />
      <File Name="Setup.ini" InstallDir="system32" />
      <File Name="Wireless.DLL" InstallDir="system32" />
      <File Name="Wireless.cat" InstallDir="system32" />
      <File Name="Wireless.INF" InstallDir="inf" />
      <File Name="Wireless.sys" InstallDir="system32\drivers" />
      <HardwareId Id="PCI\VEN_1111&amp;DEV_1111&amp;SUBSYS_11111111&amp;REV_05" />
   </AdditionalDevice>
   <AdditionalDevice ClassId="{4d36e971-e325-11ce-bfc1-08002be10318}" SourceDir="\\installfolder\drivers$\Drivers\PCI Multi-IO Controller" >
      <!-- "Multi-I/O Controller" -->
      <File Name="PCIMIOC.inf" InstallDir="inf" />
      <HardwareId Id="PCI\VEN_1111&amp;DEV_1111&amp;SUBSYS_11111111&amp;REV_10" />
   </AdditionalDevice>
   <AdditionalDevice ClassId="{4d36e972-e325-11ce-bfc1-08002be10318}" SourceDir="\\installfolder\drivers$\Drivers\NetworkDrivers">
      <!-- "Network Driver" -->
      <File Name="some.bin" InstallDir="system32" />
      <File Name="some.pat" InstallDir="system32" />
      <File Name="netcard.cat" InstallDir="system32" />
      <File Name="netcard.sys" InstallDir="system32\drivers" />
      <File Name="netcardxp.inf" InstallDir="inf" />
      <File Name="ramsed.bin" InstallDir="system32" />
      <HardwareId Id="PCI\VEN_11AA&amp;DEV_1111&amp;SUBSYS_A1111111&amp;REV_A1" />
   </AdditionalDevice>
</Drivers>

The <AlwaysInstall> Element

The DriverInstall.xml file can contain only one <AlwaysInstall> element.

The <AlwaysInstall> element contains identification information about the devices that are not included with Windows XP Service Pack 3 and must always be installed, whether Plug and Play detects the device or not.

The <AlwaysInstall> element contains one <Device> element for each device that must always be installed. See the following section for more information about the <Device> element.

Sample <AlwaysInstall> Element

<AlwaysInstall>
<Device Id="MF\COM4840_5x2_MSR" ClassId="{4D36E978-E325-11CE-BFC1-08002BE10318}" /> 
<Device Id="MF\COM4840_5x2_SERIAL" ClassId="{4D36E978-E325-11CE-BFC1-08002BE10318}" /> 
</AlwaysInstall>

The <Device> Element

The <Device> element is required for each device that must be installed. You cannot specify a <Device Id> that exceeds 200 characters, and you cannot specify more than 1,024 <Device> sub-elements.

Syntax:

<Device Id="device id" ClassId="class id"/>

device id is a string that is the Hardware ID of the device; class id is the ID of the class to which the device belongs. There is no default value for device id or class id.

Example:

<Device Id="MF\COM4840_5x2_SERIAL" ClassId="{4D36E978-E325-11CE-BFC1-08002BE10318}" />

The <AdditionalDevice> Element

The <AdditionalDevice> element contains identification information about devices that are not included with the Windows XP Service Pack 3 but should be detected by Plug and Play. You cannot specify more than 1,024 <AdditionDevice> sub-elements.

Syntax:

<AdditionalDevice ClassId="class id" SourceDir="driver folder"/>

class id is the ID of the class to which the device belongs. There is no default value for class id.

driver folder is the folder that contains the driver files.

The DriverInstall.xml file can contain multiple <AdditionalDevice> elements.

Each <AdditionalDevice> element contains the following elements.

Element Description

<File>

Specifies the names of the files to be installed

<HardwareId>

Specifies the device IDs to be included with Plug and Play detection

Sample <AdditionalDevice> Element

<AdditionalDevice ClassId="{4d36e971-e325-11ce-bfc1-08002be10318}" SourceDir="\\installfolder\drivers$\Drivers\PCI Multi-IO Controller">

<!- "Multi-I/O Controller" -->

<File Name="PCIMIOC.inf" InstallDir="inf" />

<HardwareId Id="PCI\VEN_1111&DEV_1111&SUBSYS_11111111&REV_10" />

</AdditionalDevice>

The <File> Element

The <File> element specifies the names of the files and the directory to install them in. The <AdditionalDevice> element can contain multiple <File> elements. You cannot specify more than 1,024 <File> elements.

Syntax:

<File Name="FileName" InstallDir="path" />

FileName is the name of the driver file to be installed.

The InstallDir="path" argument is optional. path is a relative path from %windir% to the directory in which to install the file. To specify the %windir% folder, type a period (.) or "...\windows". By default (if the InstallDir attribute is not specified), .sys files will be installed in the %windir%\system32\drivers folder, .inf files in %windir%\inf, and files that use other extensions in %windir%\i386.

Example:

<File Name="Setup.ini" InstallDir="system32" />

<File Name="Wireless.INF" />

The <HardwareId> Element

The <HardwareId> element specifies the device IDs to be included with Plug and Play detection. The <AdditionalDevice> element can contain multiple <HardwareId> elements. You cannot specify more than 64 <HardwareId> devices.

Syntax:

<HardwareId Id="IDstring"/>

IDstring is the device ID.

For more information about device-identification strings, see this Microsoft Web site.

Example:

<HardwareId Id="PCI\VEN_1111&DEV_1111&SUBSYS_11111111&REV_05" />

See Also

Tasks

POSReady Setup and the Command Line

Concepts

Unattended Installation