Install device driver inf via command line

JD Roberson picture JD Roberson · Mar 26, 2013 · Viewed 17.4k times · Source

I am working to deploy smart cards to our environment and the driver provided from the manufacturer is 3 files, a CAT,DLL,and INF. If I right click the INF and select install it works. I need to package this for SCCM so I tried to install via command line but I get installation failed every time. Below is the INF

 ; 
 ; HID Global Smartcard Minidriver inf for x64
 ;
 ;

 [Version]
 Signature="$Windows NT$"
 Provider=%VendorName%
 DriverVer=07/12/2007,1.0.0.14
 DriverPackageDisplayName="HID Global Minidriver"
 CatalogFile=hidcrdmx.cat
 Class="Smart Cards"
 ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}

 [Manufacturer]
 %VendorName%=HIDGlobal,NTamd64

 [HIDGlobal.NTamd64]
 %HIDGlobalDeviceName%=HIDGlobal_Install,UMDF\ATR_3BFA1800FF8131FE454A434F5034314332303074  

 [DefaultInstall]
 AddReg=Minidriver_RegistryAdd
 [email protected]
 CopyFiles=Syswow64_CopyFiles


 [HIDGlobal_Install]
 [email protected]
 CopyFiles=Syswow64_CopyFiles

 [Syswow64_CopyFiles]
 hidcrdm.dll

 [SourceDisksNames]
 1=%MediaDescription%

 [SourceDisksFiles]
 hidcrdmx.dll=1
 hidcrdm.dll=1


 [Strings]
 VendorName="HID Global"
 MediaDescription="HID Global Smart Card Minidriver Installation Disk"
 CardKey="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\HID Crescendo C200"
 CardKey64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\HID Crescendo C200"
 HIDGlobalDeviceName="HID Crescendo C200"

 [Minidriver_RegistryAdd]
 HKLM, %CardKey%,"80000001",0x0,"hidcrdmx.dll"
 HKLM,%CardKey%,ATR,0x00000001,3B,FA,18,00,FF,81,31,FE,45,4A,43,4F,50,34,31,43,32,30,30,74
 HKLM, %CardKey%,ATRMask,0x00000001,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff  
 HKLM, %CardKey%,"Crypto Provider",0x0,"Microsoft Base Smart Card Crypto Provider"
 HKLM, %CardKey%,"Smart Card Key Storage Provider",0x0,"Microsoft Smart Card Key Storage Provider"
 HKLM, %CardKey64%,"80000001",0x0,"hidcrdm.dll"
 HKLM, %CardKey64%,ATR,0x00000001,3B,FA,18,00,FF,81,31,FE,45,4A,43,4F,50,34,31,43,32,30,30,74
 HKLM, %CardKey64%,ATRMask,0x00000001,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff  
 HKLM, %CardKey64%,"Crypto Provider",0x0,"Microsoft Base Smart Card Crypto Provider"
 HKLM, %CardKey64%,"Smart Card Key Storage Provider",0x0,"Microsoft Smart Card Key Storage Provider"


 [DestinationDirs]
 DefaultDestDir = 11 ; dirid = \system32 on WinNT platforms
 Syswow64_CopyFiles=10,syswow64 ; %windir%\syswow64 on x64

Answer

Lionel picture Lionel · Jul 22, 2013

I was in the same situation and in my case, dpinst returned code 0x100 "No matching devices found".

I finally found the solution, using the following command line:

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 .\hidcrdmx.inf

The C200 is now fully recognized by Windows.