Установите драйвер устройства inf через командную строку
Я работаю над развертыванием смарт-карт в нашей среде, и драйвер, предоставленный производителем, состоит из 3 файлов: CAT,DLL и INF. Если я щелкну правой кнопкой мыши по INF и выберу установить, он работает. Мне нужно упаковать это для SCCM, поэтому я попытался установить через командную строку, но каждый раз получал ошибку при установке. Ниже 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
CopyFiles=@hidcrdmx.dll
CopyFiles=Syswow64_CopyFiles
[HIDGlobal_Install]
CopyFiles=@hidcrdmx.dll
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
2 ответа
Используйте dpinst для установки драйверов из командной строки. Вы можете получить это, загрузив Windows 8 SDK, даже если вы не используете Windows 8 в этой среде. Существуют отдельные x64 и x86 dpinst исполняемые файлы. Здесь dpinst /?
выход:
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.
Если вам нужно установить сертификат издателя перед установкой драйвера, это можно сделать с помощью certmgr.exe
и установка сертификата на trusted publishers
хранить. Таким образом, установка драйвера не завершится с ошибкой или не предложит продолжить, и она останется без присмотра.
Я был в той же ситуации, и в моем случае dpinst вернул код 0x100 "Не найдено подходящих устройств".
Я наконец нашел решение, используя следующую командную строку:
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 .\hidcrdmx.inf
C200 теперь полностью распознается Windows.