Reputation: 599
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
Upvotes: 1
Views: 21729
Reputation: 41
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.
Upvotes: 4
Reputation: 3311
Use dpinst for installing drivers from the command line. You can get this by downloading the Windows 8 SDK, even if you're not using Windows 8 in the environment. There are separate x64 and x86 dpinst executables. Here is the dpinst /?
output:
C:\Program Files (x86)\Windows Kits\8.0\redist\DIFx\dpinst\EngMui\x64\dpinst.exe
: installs and uninstalls driver packages.
By default, the tool searches the current directory and tries to install all dri
ver packages found.
Usage: C:\Program Files (x86)\Windows Kits\8.0\redist\DIFx\dpinst\EngMui\x64\dpi
nst.exe [/U INF-file][/S | /Q][/LM][/P][/F][/SH][/SA][/A][/PATH Path][/EL][/L La
nguageID][/C][/D][/LogTitle Title][/SW][/? | /h | /help]
/U INF-file Uninstall a driver package (INF-file).
/S | /Q Silent (Quiet) mode. Suppresses the Device Installation Wizard
and any dialogs popped-up by the operating system.
/LM Legacy mode. Accepts unsigned driver packages and packages with missing
files. These packages won't install on the latest version of Windows.
/P Prompt if the driver package to be installed is not better than the cur
rent one.
/F Force install if the driver package is not better than the current one.
/SH Scans hardware for matching devices and only copies and installs those
drivers for which a device is present. Only valid for Plug and Play drivers.
/SA Suppress the Add/Remove Programs entry normally created for each driver
package.
/A Install all or none.
/PATH Path Search for driver packages under the given path.
/EL Enables all languages not explicitly listed in the XML file.
/L LanguageID Tries to use the given language in all UI. Useful for l
ocalization tests.
/SE Suppress the EULA.
/C Dump logging output to attached Console (Windows XP and above).
/D Delete driver binaries on uninstall.
/SW Suppresses the Device Installation Wizard, the operating system might s
till pop-up user dialogs.
/? | /h | /help Shows this help.
If you need to install the publisher certificate before installing the driver, that can be done with certmgr.exe
, and installing the certificate to the trusted publishers
store. That way, the driver install won't fail or prompt to continue and it will be truly unattended.
Upvotes: 1