How to Uninstall WinDriver

NOTE
The instructions on this page are for the latest WinDriver version released for the target operating system. To uninstall an older version of WinDriver, refer to the uninstall instructions in the WinDriver User’s Manual for your WinDriver version.

Uninstall all Plug-and-Play devices (USB/PCI/PCMCIA/CardBus) that have been registered with WinDriver via an INF file:

Uninstall the device using the wdreg utility:wdreg -inf <path to the INF> file uninstall

Verify that no INF files that register your device(s) with WinDriver’s kernel module (windrvr1221.sys) are found in the %windir%\inf directory.

Uninstall WinDriver:

On the development PC, on which you installed the WinDriver toolkitRun Start | WinDriver | Uninstall, OR run the uninstall.exe utility from the WinDriver\ installation directory.The uninstall will stop and unload the WinDriver kernel module (windrvr1221.sys); delete the copy of the windrvr1221.inf file from the %windir%\inf\ directory; delete WinDriver from Windows’ Start menu; delete the WinDriver\ installation directory (except for files that you added to this directory); and delete the short-cut icons to the DriverWizard and Debug Monitor utilities from the Desktop.

On a target PC, on which you installed the WinDriver kernel module windrvr1221.sys), but not the entire WinDriver toolkit:Use the wdreg utility to stop and unload the driver:wdreg -inf <path to windrvr1221.inf> uninstall

NOTE
When running this command, windrvr1221.sys should reside in the same directory as windrvr1221.inf.

(On the development PC, the relevant wdreg uninstall command is executed for you by the uninstall utility.)

NOTE

If you attempt to uninstall WinDriver while there are open handles to the WinDriver service (windrvr1221.sys or your renamed driver), or there are connected and enabled Plug-and-Play devices that are registered to work with this service, wdreg will fail to uninstall the driver. This ensures that you do not uninstall the driver while it is being used.

You can check if the WinDriver kernel module is loaded by running the Debug Monitor utility (WinDriver\util\wddebug_gui.exe). When the driver is loaded the Debug Monitor log displays driver and OS information; otherwise it displays a relevant error message.
On the development PC, the uninstall command will delete the Debug Monitor executables; to use this utility after the uninstallation, create a copy of wddebug_gui.exe before performing the uninstall procedure.

If windrvr1221.sys was successfully unloaded, erase the following files (if they exist):

%windir%\system32\drivers\windrvr1221.sys

%windir\inf\windrvr1221.inf

%windir%\system32\wdapi<version>.dll for the WinDriver version that you are uninstalling (for example, wdapi1221.dll — for version 12.6.0.

%windir%\sysWOW64\wdapi<version>.dll for the WinDriver version that you are uninstalling (for example, wdapi1221.dll — for version 12.6.0.

Reboot the computer.

Uninstall Instructions for Linux

NOTE
The following commands must be executed with root privileges.

Verify that the WinDriver driver modules are not being used by another program:

View the list of modules and the programs using each of them:# /sbin/lsmod

Identify any applications and modules that are using the WinDriver WinDriver driver modules. (By default, WinDriver module names begin with windrvr1221.sys).

Close any applications that are using the WinDriver driver module(s).

If you created a Kernel PlugIn driver, unload the Kernel PlugIn driver module:# /sbin/rmmod <kp_xxx_module>

Run the following command to unload the WinDriver driver module(s):# /sbin/modprobe -r windrvr1221

If you created a Kernel PlugIn driver, remove it as well.

Remove the file .windriver.rc from the /etc directory:rm -f /etc/.windriver.rc

Remove the file .windriver.rc from $HOME:# rm -f $HOME/.windriver.rc

If you created a symbolic link to DriverWizard, remove the link using the command# rm -f /usr/bin/wdwizard

Remove the WinDriver shared object file, if it exists: /usr/lib/libwdapi<version>.so (32-bit x86 or 32-bit PowerPC) / /usr/lib64/libwdapi<version>.so (64-bit x86) for the WinDriver version that you are uninstalling (e.g., libwdapi12.6.0.so — for version 12.6.0.

We use WinDriver PCI for 32-bit Windows, 64-bit Windows, 32-bit x86 Linux, and 64-bit x86 Linux. We have also used it for 32-bit x86 Solaris and 64-bit SPARC Solaris. This tool kit allows us to use a common driver interface for these platforms and greatly simplifies our software API architecture. Basic driver is very easy, advanced features like the kernel plug-in allow optimization of interrupt handling, etc.

Rich WadeAlta Data Technologies

The WinDriver worked out well for us. It took very little time to get the driver working. We have implemented DMA and interrupt.

Tak-kwong NgElectronics Engineer | NASA Langley Research Center

I started using the WinDriver Kit after looking at several other possibilities. All others that I looked at were targeted for Software Engineers with deep background on driver development, which for me being hardware-centric was a big obstacle. When I found the Jungo Tools I initially looked at the online video showing how to drive the kit. When I tried out the real software I was amazed that within ten minutes I had my first driver working and could interact with my custom FPGA-based board.