Technical Document #111

Technical Document #111        [Product Version: 5.2.X]
Distributing your WinDriver v5.2.x based driver to a target Windows machine

To distribute your WinDriver based driver to a target Windows machine (which does not have the WinDriver software installed), when using version 5.2.x of WinDriver, follow the instructions below and in the version 5.2.2 manual.

For updated distribution instructions refer to Technical Document #132 and to the distribution chapter in the current WinDriver User's Manual.

  1. Copy the windrvr.sys or windrvr.vxd driver file (depending on your OS) and your Kernel PlugIn driver (if you have created such a driver) to the target computer's drivers directory —
    %windir%\system32\drivers — for SYS (e.g., WINNT\system32\drivers); %windir%\system\vmm32 — for VxD.
    When copying the file/s, take care not to overwrite a newer version of the file with an older one.

    windrvr.sys and windrvr.vxd are found under the WinDriver\redist directory on the development machine.

    To install windrvr.sys on Windows 98/Me/2000/XP, also copy wd_virtual.inf (found under the WinDriver\redist directory on the development machine) to the target machine. It is recommended to copy this file to the <WINDIR>\inf directory (WINNT\inf — on Windows 2k; Windows\inf — on Windows 98/Me/XP) to enable Windows to find and load this file automatically.

  2. Copy wdreg.exe or wdreg_gui.exe from the WinDriver\util directory on the development machine to the target machine.

    wdreg_gui.exe and wdreg.exe provide the same functionality. The difference is in the way the installation messages are displayed — graphical message boxes (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 if you wish.

  3. Install windrvr.sys/windrvr.vxd and wd_virtual.inf (on Windows 95/98/Me/2000/XP) using wdreg.exe:

    • To install windrvr.sys on Windows NT 4.0 or to install windrvr.vxd on Windows 95/98/Me, use the install command:
          wdreg.exe install

      On Windows 98/Me, add the -vxd flag:
          wdreg.exe -vxd install

      It is recommended to run wdreg.exe with the remove command before installing the new driver, in order to remove the existing WinDriver service (if it exists).

    • To install windrvr.sys on Windows 98/Me/2000/XP, use the reload command — which removes the current WinDriver service (if it exists), installs windrvr.sys and loads wd_virtual.inf:
          wdreg.exe -inf <full path to wd_virtual.inf> reload

      For example, if wd_virtual.inf has been copied to c:\WINNT\inf/:
          wdreg.exe -inf c:\WINNT\inf\wd_virtual.inf reload

      NOTE: When upgrading from a previous version of WinDriver, if there are currently PCI/USB devices registered to work with WinDriver, when wdreg.exe is run on Win2k/XP, it will display a message instructing the user to either uninstall all devices registered to work with WinDriver and select Retry, or select Cancel and reboot, in order to complete the installation. Therefore, before installing the new driver it is recommended to uninstall (from the Device Manager) any PCI/USB devices that are currently registered to work with WinDriver (via an INF file).
      Alternatively, to avoid this message you can run wdreg.exe with the loadinf command, instead of the "reload" command, in order to install the new windrvr.sys and wd_virtual.inf files:
          wdreg.exe -inf <full path to wd_virtual.inf>loadinf
      Please note, however, that this will require a reboot in order to complete the installation.

      To complete the installation of windrvr.sys (and wd_virtual.inf) on Windows 98/Me you must always reboot the PC, since dynamic loading of SYS drivers is not supported on Windows 98/Me.

  4. If you have created your own Kernel PlugIn SYS/VxD driver, install your Kernel PlugIn driver using the wdreg.exe utility:
        wdreg.exe -name <Driver Name> install

    If you have created a VxD Kernel PlugIn driver, add the -vxd flag to the installation command:
        wdreg.exe -vxd -name <Driver Name> install


    1. Specify the driver name without the *.sys/*.vxd extension. For example, to install my_kp.sys on Windows 2000 run
          wdreg.exe -name my_kp install

    2. You must first install windrvr.sys/vxd (and wd_virtual.inf — when installing windrvr.sys on Windows 98/Me/2000/XP) before attempting to install your Kernel PlugIn driver.

  5. For Plug-and-Play (PnP) devices — PCI/USB — if you are installing windrvr.sys on a target machine running a PnP operating system — Windows 98/Me/2000/XP — you must also install the specific INF file for your device (generated with the DriverWizard on the development machine) in order to register your device to work with windrvr.sys.

    On Windows 2000/XP you can use the loadinf option of the wdreg.exe utility in order to automatically install the INF file:
        wdreg.exe -inf <full path to INF file> loadinf

    On Windows Me/98 you need to manually install the INF file from the Device Manager (using the Upgrade Device Driver Wizard: Properties --> Driver --> Upgrade Driver) or from Windows Add New Hardware Wizard — as explained in the "Distributing Your Driver" chapter of the WinDriver User's Manual.


    1. When upgrading from a previous version of WinDriver, before installing the new INF file, it is recommended to erase all backup INF files for any PCI/USB device that was previously registered to work with WinDriver, before installing the new INF file, in order to ensure that Windows does not install an old INF file your device, instead of the new file. (On Windows 2000/XP, look for the backup files in the %windir%/inf directory. On Windows 98/Me, look in the Windows\inf\other directory. Look for files containing the string "Jungo" and/or the vendor/device ID of your device/s and delete them. On Windows 2000/XP the files may be called "oem*.inf" (there will also be corresponding *.pnf files that you can erase or leave, as you wish). On Windows 98/Me the file names may begin with the string "Jungo".)
    2. In previous versions of WinDriver (before v5.2.0) a separate driver file was used as the PnP driver (in addition to windrvr.sys) — wdpnp.sys and previously wdusb.sys. These drivers have become obsolete beginning with version 5.2.0 of WinDriver.

  6. Copy your WinDriver executable/DLL file, which implements the driver functionality, to the directory of you choice on the target machine and run it.