DeviceDriver Installation and Removal with Devcon

Today i came across a problem with a device driver on a remote computer.
Normally we install drivers with RES Automation manager and Dpinst, but it had failed on this machine and with remote device management you cannot remove devices.
Therefore i searched in the Windows Driver Development Tools for a tool that can do just that.
So i found Devcon1

For instance if you have a remote computer where you have a questionmark in the devicemanager console, you cannot update the driver remotely.


Check the HardwareId on the Details tab and find the appropriate driver.


In this case it was the Intel(R) HECI driver consisting of 4 files,, HECI.inf, HECI.sys and HECIx64.sys.
To update/install this driver I created a module In RES Automation Manager that includes a task that copies the files to eg. c:\temp\ including devcon.exe
Then a task that runs the following command:
c:\temp\devcon update "c:\temp\heci.inf" "PCI\VEN_8086&DEV_1C3A&CC_0780" >>C:\temp\InstallHeci.txt
When you run this AM module on the remote computer, the logfiles shows ”Updating drivers for PCI\VEN_8086&DEV_1C3A&CC_0780 from c:\temp\heci.inf. Drivers updated successfully.” As you can see in the image it did.image

If you want to remove that device driver you can create a task containing the following command:
C:\temp\devcon remove "PCI\VEN_8086&DEV_1C3A&CC_0780 "

The remove parameters specifies all or part of a hardware ID, compatible ID, or device instance ID of a device. When specifying multiple IDs, type a space between each ID. IDs that include an ampersand character (&) must be enclosed in quotation marks. 

1. DevCon (Devcon.exe), the Device Console, is a command-line tool that displays detailed information about devices. Using DevCon, you can search for and manipulate devices from the command line. DevCon enables, disables, installs, configures, and removes devices on the local computer and displays detailed information about devices on local and remote computers. See link for more commands