0

I have a problem by installing the libusb driver on Windows 8. I generated a .inf file, which includes the device information like vid, pid, name,.... In my installer (currently generated with NSIS) I call the rundll32.exe:

ExecWait 'rundll32.exe "$INSTDIR\sys\amd64\libusb0.dll",usb_install_driver_np_rundll $INSTDIR\sys\libusbHE.inf' $0

So this part don't work with Windows 8 because I don’t have a signed .cat file. Now I used the libwdi to generate a new .inf file and the self-certificated .cat file.
I called the the libwdi (like wdi-simple) from my NSIS script. The installation works for Windows 7 and 8, but the Problem is that: when a user calls the installer again, it install the driver again (shown with pnputil.exe –e)

How can I check in NSIS, if the driver already installed or not? Or how can I uninstall all previous installed driver (from my device) automatically in the NSIS script. (Not manually like pnputil.exe –f –d <...inf>)

moudi
  • 478
  • 4
  • 17
  • Is this something that should be fixed in libusb? Is installing the driver again a big problem? – Anders Nov 26 '14 at 19:59
  • I think libusb is ok, but libwdi should have a function to uninstall a driver. Or to check if a dirver already installed... Installing the driver again isn't the best solution... – moudi Nov 27 '14 at 07:19

0 Answers0