This document outlines the basic steps for installing a driver developed with version 8.0.x of WinDriver on a target Plug-and-Play Windows operating system. Detailed driver distribution instructions can be found in the WinDriver User’s Manual for your WinDriver version.

The Windows driver distribution steps for version 11.9.0 and newer of WinDriver are outlined in Technical Document #132.
The Windows driver distribution steps for versions 8.1.x–11.8.0 of WinDriver are outlined in Technical Document #120.


Documentation Notes:

  • The windrvr6.sys and windrvr6.inf files, mentioned in this document, can be found in the WinDriver\redist directory on the development PC. wdreg.exe / wdreg_gui.exe / wdreg16.execan be found in the WinDriver\util directory (the source code is found in the WinDriver\samples\wdreg directory).


  • The wdreg.exe and wdreg_gui.exe utilities provide the same functionality. The difference is in the way the installation messages are displayed — graphical messages (wdreg_gui.exe) or console messages (wdreg.exe). You can therefore replace any reference to wdreg.exe in the following instructions with wdreg_gui.exe.
    When installing windrvr6.sys on Windows 98/Me, you should use the wdreg16.exe utility.

Installation Notes:

  • You must have administrative privileges in order to install drivers on Windows.


  • When distributing your driver, take care not to overwrite a newer version of windrvr6.sys with an older version of this driver.


  • When upgrading the driver from a previous version of WinDriver, which also uses the windrvr6.sys driver module (v6.0.0 and above):
    • If you have also created a Kernel PlugIn driver (e.g.,old_kp.sys), remove this driver before proceeding with the installation:To remove old_kp.sys, run:
      \> wdreg -name OLD_KP uninstall
    • For a reboot-free installation of the new driver, verify that there are no open handles to the windrvr6.sys service. This includes verifying that there are no open applications that use this service and that there are no connected Plug-and-Play (PCI/USB) devices that are registered to work with it via an INF file (on Windows 98/Me/2000/XP/Server 2003). Otherwise, the installation might instruct the user to either uninstall all devices currently registered to work with WinDriver and Retry, or Cancel and reboot the PC in order to successfully complete the installation of the new driver.



  • On Windows 2000 it is recommended that you remove any INF file(s) previously installed for your Plug-and-Play device(PCI/USB), such as files created with an earlier version of WinDriver, from the %windir%\inf directory. This will ensure that Windows will not automatically detect and install an old INF file for your device.
    You can search the INF directory for the devices vendor ID and device/product ID to locate the file(s) associated with the device.
    For more information regarding the Windows 2000 INF selection algorithm, refer to Technical Document #49.

Windows 98/Me/2000/XP/Server 2003 Installation Steps:

NOTE: For Windows 98/Me, replace the references to wdreg.exebelow with wdreg16.exe.

1.Copy windrvr6.sys and windrvr6.inf to the same directory.


2. Use the utility wdreg.exe to install WinDriver’s kernel module on the target computer:
\> wdreg -inf <path to windrvr6.inf> install

TIP: If you copy wdreg.exe to the same directory aswindrvr6.sys and windrvr6.inf, you can simply run the following command from your installation directory in order to install the driver:
install_dir:] wdreg -inf windrvr6.inf install


3. If you have created a Kernel PlugIn (e.g., my_kp.sys), copy this driver to Windows drivers directory — %windir%\system32\drivers— and install it using the wdreg.exe utility:
\> wdreg -name MY_KP install

NOTE: The driver name is indicated without the *.sys extension.


4. On Windows 98/Me, reboot the PC to complete the driver installation.


5. For Plug-and-Play devices (PCI/USB): install the device INF file, which registers your device to work with the windrvr6.sys service (normally this file is created using WinDriver’s DriverWizard utility).

On Windows 2000/XP/Server 2003, you can use the wdreg.exeutility with the install command to automatically install the INF file:
\> wdreg -inf <path to device.inf> install

On Windows 98/Me, install the device INF file manually, using Windows’ Update Driver wizard (from the Device Manager) or New Hardware Wizard, as explained in the instructions that will be displayed when generating the file with DriverWizard, and in the WinDriver User’s Manual for the relevant WinDriver version. Alternatively, copy the INF file to Windows’ INF directory
(%windir%\inf) and reboot to let Windows locate and install the file.


6. If your project uses the wdapi<version>.lib library (for examplewdapi800.lib) — as is the case for the sample and generated DriverWizard projects — you need to distribute the wdapi DLL:

  • When distributing 32-bit applications/DLLs to 32-bit targetsOR when distributing 64-bit applications/DLLs to 64-bit targets: Copy WinDriver\redist\wdapi<version>.dll (e.g.,wdapi800.dll) to the target’s %windir%\system32directory.

NOTE: If you attempt to copy the 64-bit DLL to the
%windir%\system32 directory using a 32-bit installation program, you may find that the DLL file is actually copied to the 32-bit %windir%\sysWOW64 directory. The reason for this is that Windows x64 platforms translate references to 64-bit directories from 32-bit commands into references to 32-bit directories. You can avoid the problem by using 64-bit commands to perform the necessary installation steps from your 32-bit installation program. The system64.exeprogram, provided in the WinDriver\redist directory of the Windows x64 WinDriver distributions, enables you to do this.


  • When distributing 32-bit applications to 64-bit targets: CopyWinDriver\redist\wdapi<version>_32.dll (for examplewdapi800_32.dll) to the target’s %windir%\sysWOW64directory and rename the file to wdapi<version>.dll.


6. Copy your driver application/DLL to the target and run it!