Question

I have an old USB device that is not recognized by windows 7, so I grabbed the device driver for the chip that handles the USB communications. After I modified it I used it to install for the device. Stupid I know, but now I need to get rid of it.

Below is the code from the inf setup file. This does not have the VID and PID that I changed. I need to reverse all the changes it made.

; Installation INF for the Cypress Generic USB Driver for Windows Vista
; Processor support for OS unknown platforms.
;
; (c) Copyright 2010 Cypress Semiconductor Corporation
;

[Version]
Signature="$WINDOWS NT$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
provider=%CYUSB_Provider%
CatalogFile=CYUSB.cat
DriverVer=10/12/2010,3.4.4.000

[SourceDisksNames]
1=%CYUSB_Install%,,,

[SourceDisksFiles]
CYUSB.sys = 1

[DestinationDirs]
CYUSB.Files.Ext = 10,System32\Drivers

[ControlFlags]
ExcludeFromSelect = *

[Manufacturer]
%CYUSB_Provider%=Device,NT,NTx86,NTamd64

;for all platforms
[Device]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX


;for windows 2000 non intel platforms
[Device.NT]
; Cypress FX2LP default ID
%VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&PID_8613

; Cypress FX1 default ID
%VID_04B4&PID_6473.DeviceDesc%=CyUsb, USB\VID_04B4&PID_6473

; Cypress Streamer Device.  CyStream firmware examples use this VID/PID
%VID_04B4&PID_1003.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1003

; Cypress FX2LP Example Device.  DVK firmware examples use this VID/PID
%VID_04B4&PID_1004.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1004


;for x86 platforms
[Device.NTx86]
; Cypress FX2LP default ID
%VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&PID_8613

; Cypress FX1 default ID
%VID_04B4&PID_6473.DeviceDesc%=CyUsb, USB\VID_04B4&PID_6473


; Cypress Streamer Device.  CyStream firmware examples use this VID/PID
%VID_04B4&PID_1003.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1003

; Cypress FX2LP Example Device.  DVK firmware examples use this VID/PID
%VID_04B4&PID_1004.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1004


;for x64 platforms
[Device.NTamd64]
; Cypress FX2LP default ID
%VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&PID_8613

; Cypress FX1 default ID
%VID_04B4&PID_6473.DeviceDesc%=CyUsb, USB\VID_04B4&PID_6473

; Cypress Streamer Device.  CyStream firmware examples use this VID/PID
%VID_04B4&PID_1003.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1003

; Cypress FX2LP Example Device.  DVK firmware examples use this VID/PID
%VID_04B4&PID_1004.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1004

[CYUSB]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.Services]
Addservice = CYUSB,2,CYUSB.AddService

[CYUSB.NT]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.NT.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.NT.Services]
Addservice = CYUSB,2,CYUSB.AddService


[CYUSB.NTx86]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.NTx86.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.NTx86.Services]
Addservice = CYUSB,2,CYUSB.AddService

[CYUSB.NTamd64]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.NTamd64.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.NTamd64.Services]
Addservice = CYUSB,2,CYUSB.AddService


[CYUSB.AddReg]
; Deprecating - do not use in new apps to identify a CYUSB driver
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,CYUSB.sys
; You may optionally include a check for DriverBase in your application to check for a CYUSB driver
HKR,,DriverBase,,CYUSB.sys
HKR,"Parameters","MaximumTransferSize",0x10001,4096
HKR,"Parameters","DebugLevel",0x10001,2
HKR,,FriendlyName,,%CYUSB_Description%

[CYUSB.AddService]
DisplayName    = %CYUSB_Description%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\CYUSB.sys
AddReg         = CYUSB.AddReg
LoadOrderGroup = Base

[CYUSB.Files.Ext]
CYUSB.sys

[CYUSB.AddReg.Guid]
HKR,,DriverGUID,,%CYUSB.GUID%

[Strings]
CYUSB_Provider    = "Cypress"
CYUSB_Company     = "Cypress Semiconductor Corporation"
CYUSB_Description = "Cypress Generic USB Driver"
CYUSB_DisplayName = "Cypress USB Generic"
CYUSB_Install     = "Cypress CYUSB Driver Installation Disk"
VID_04B4&PID_8613.DeviceDesc="Cypress EZ-USB FX2LP No EEPROM"
VID_04B4&PID_6473.DeviceDesc="Cypress EZ-USB FX1 - No EEPROM"
VID_04B4&PID_1004.DeviceDesc="Cypress EZ-USB Example Device"
VID_04B4&PID_1003.DeviceDesc="Cypress EZ-USB Streamer Device"
VID_XXXX&PID_XXXX.DeviceDesc="Cypress USB Generic Driver (3.4.4.000)"
CYUSB.GUID="{AE18AA60-7F6A-11d4-97DD-00010229B959}"
CYUSB_Unused      = "."

No correct solution

OTHER TIPS

Another option (the Microsoft way, without doing random unknown deletings in the registry) is to start CMD as "run as admin" and then list all installed drivers in the Windows 7 driver store via:

pnputil -e

if this caused a longer list you can pipe that into a file via:

pnputil -e > C:\driverexport.txt

If you have found now the driver you need to remove use the following comand:

pnputil.exe -d OemNUMBER.inf

replace NUMBER with your number from your example. You might try to use -F to force the uninstallation. Once a reboot is done the driver should be gone.

This might be also usefull to delete old drivers and get some HD space back.

Source

If you have installed a driver for a device and you want to remove it (and the driver store) just plug in your device. Open Device Manager, right click the device and select Uninstall. There will be a box that says "Remove driver software" - check this box and Uninstall the driver. This should remove it from the driver store and uninstall the device from the registry.

If all drivers for the device has been removed you should be able to plug it in and see that no driver loads for the device. If it does there could be multiple versions in your driver store and you go through the same steps until Windows doesn't recognize the device.

Note that the SYS file will remain in the C:\Windows\System32\drivers directory per policy, but if all devices and installations are removed that use it you can safely delete this driver as well.

While the steps mentioned in answers above may be correct, this is a significantly easier method to do it:

Go to Device Manager or alternatively run the command

devmgmt.msc

Right-click the device you need to uninstall and go to Properties. Select the Details tab and then select INF Name from the drop-down list

Once you have the INF Name type in this command in a command window opened with Admin privileges

pnputil.exe -d INFName.inf

if you face issues try forced deletion

pnputil.exe -f -d INFName.inf

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top