Jump to content

Update ALREADY INSTALLER Plug and Play Drivers


dbareis

Recommended Posts

Hi,

I've been looking everywhere on MSDN, this site and googling web/groups and can't find the info. Most people who use words like "update" seem to mean install.

What I have previously installed is some plug and play drivers placed into a directory mentioned in the registry at "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath".

Now I have updated drivers from a vendor with no installation instructions (just .inf + others). I should also mention the vendors are not helping any...

I gave "SetupCopyOEMInf.exe" but it didn't do much, I'm guessing it simply eliminates the need to add to the "DevicePath" registry entry. I know simply updating the source directory and rebooting or any other obvious thing doesn't work. Whatever the solution is it has to be completely automated and will be run from the system account.

I do know hacking the DLL+other files (in "c:\winnt" tree) does work but this is not a "nice" (or safe) way. There has to be a "correct" way, any ideas?

Thanks for any help,

Dennis

Link to comment
Share on other sites


Post a download driver link for your hardware and give us the name of hardware you want to upgrade drivers.

The Keyboard is specialised and I know of no web page where you can get details or download drivers (I had to logon to a server), the files in the source are:

810coinst.dll

810UI16.DLL

etschkrd.sys

etschkrdr.dll

etschkrdr2k.sys

etskb.inf

etskp.inf

pcsccr.slt

pcsccremv.slt

pcscemv.slt

sxl810u.sys

sxl810u2k.sys

tablelet.slt

One of the INF's contents is:

[Version]
Signature="$Windows NT$"
Class=SmartCardReader
ClassGuid={50DD5230-BA8A-11D1-BF5D-0000F805F530}
Provider=%etskb.Provider%
DriverVer=01/15/2003,0.1.1.0
     
[Manufacturer]
%etskb.Manufacturer%=etskb
     
[ClassInstall32]
AddReg=etskb.AddClassReg

[etskb]
%etskb.DeviceDesc%=etskb.Install,USB\VID_109C&PID_0200&MI_01

[etskb_EventLog_Inst]
AddReg=etskb.AddEventLogReg


[SourceDisksNames]
1=%etskb.DriverDiskName%,"",1

[SourceDisksFiles]
etschkrdr2k.sys=1
etschkrd.sys=1
pcsccr.slt=1
810coinst.dll=1
810ui16.dll=1

[PreCopySection]
HKR,,NoSetupUI,,1
     
[DestinationDirs]
etskb.CopyFiles = 10,system32\drivers; WINDOWS\SYSTEM32\DRIVERS
etskb.CopyFilesNT = 10,system32\drivers; WINDOWS\SYSTEM32\DRIVERS      
smartlet.copyfiles = 10,system32\drivers
etskb16.CopyFiles = 10,system ; WINDOWS\SYSTEM
etskb.CopyCoInstallerFiles =10,system32; WINDOWS\SYSTEM32


[etskb.INSTALL]
CopyFiles=etskb.CopyFiles, smartlet.copyfiles, etskb16.CopyFiles
AddReg=etskb.AddReg, etskb.AddRegLoader
   
[etskb.AddClassReg]
HKR,,,,%etskb.ClassName%
HKR,,ReaderName,0,%etskb.ReaderName%

[etskb.AddRegLoader]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,etschkrd.sys
HKR,,EnumPropPages,,"810ui16.dll,EnumPropPages"

[etskb.AddRegLoader.NT]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,etschkrdr2k.sys


[etskb.AddReg]
HKR,VID_109C&PID_0200,ShortProviderName,0,%etskb.ShortProvider%
HKR,VID_109C&PID_0200,ReaderName,0,%etskb.ReaderName%
HKR,VID_109C&PID_0200,PCSCSmartlet,0,%10%\system32\drivers\pcsccr.slt
HKR,VID_109C&PID_0200,LUTSmartlet,0,%10%\system32\drivers\tablelet.slt
HKR,VID_109C&PID_0200,RemoteWakeUp,0x00010001,1

[etskb.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"810coinst.dll, CoDeviceInstall"

[etskb.CopyCoInstallerFiles]
810coinst.dll
etschkrdr.dll

[etskb16.CopyFiles]
810ui16.dll
etschkrdr.dl

[smartlet.copyfiles]
pcsccr.slt
pcsccremv.slt
tablelet.slt


[etskb.INSTALL.NT]
CopyFiles=etskb.CopyFilesNT, smartlet.copyfiles


[etskb.INSTALL.NT.Services]
AddService = etskb,0x00000002,etskb_Service_Inst,etskb_EventLog_Inst


[etskb_Service_Inst]
ServiceType     = 1;%SERVICE_KERNEL_DRIVER%
StartType       = 3;%SERVICE_AUTO_START%
ErrorControl    = 1;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\etschkrdr2k.sys
AddReg=etskb.AddReg


[etskb_EventLog_Inst]
AddReg=etskb.AddEventLogReg

[etskb.INSTALL.NT.CoInstallers]  
CopyFiles = etskb.CopyCoInstallerFiles
AddReg =etskb.CoInstallers_AddReg


[etskb.AddEventLogReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\etschkrdr2k.sys"
HKR,,TypesSupported,0x00010001,7

     
[etskb.CopyFiles]
etschkrd.sys

[etskb.CopyFilesNT]
etschkrdr2k.sys

[Installer]
Windows=400

;---------------------------------------------------------------;
     
[Strings]
etskb.Provider="Electronic Trade Solutions Ltd"
etskb.Manufacturer="ETS"
etskb.DeviceDesc="ETS Keyboard"
etskb.ClassName="Smart Card Readers"
etskb.DriverDiskName="Installation Diskette"
etskb.ShortProvider = "ETS"
etskb.ReaderName="Keyboard"

Edited by dbareis
Link to comment
Share on other sites

Please edit your post and use the Code and Quote Buttons. Please specify which inf file you've posted the content? etskb.inf or etskp.inf

download devcon package, extract it to temp folder and run from command prompt :

"%temp%\i386\devcon.exe" findall =SmartCardReader | findstr /R "USB\VID" >>%temp%\output.txt

and post the resulting output.txt (don't forget the CODE button :whistle: ).

Edited by Bilou_Gateux
Link to comment
Share on other sites

"%temp%\i386\devcon.exe" findall =SmartCardReader | findstr /R "USB\VID" >>%temp%\output.txt

and post the resulting output.txt.

I suspect the "/R" option on the command is incorrect (regular expression), in any case that returned zero results, here is the full results:

USB\VID_109C&PID_0101\6&24399FA7&0&2                        : ETS Keypad
USB\VID_109C&PID_0101\6&2C963643&0&2                        : ETS Keypad
USB\VID_109C&PID_0101\6&36F3504C&0&2                        : 'Krypto-810'
USB\VID_109C&PID_0200&MI_01\7&108D9350&0&1                  : 'Krypto-810 Keyboard'
USB\VID_109C&PID_0200&MI_01\7&27A9B6A3&0&1                  : ETS Keyboard
USB\VID_109C&PID_0200&MI_01\7&BF2651B&0&1                   : ETS Keyboard
6 matching device(s) found.

The reason I didn't label the file (although I did think of this) was that the two inf files are very similar and I assumed there would be a simple generic solution. It was "etskb.inf".

Thanks,

Dennis Bareis

Link to comment
Share on other sites

Have you plugged more than one device (both keyboard and keypad) on your running Windows?

etskb.inf is inf file for keyboard: USB\VID_109C&PID_0200&MI_01

etskp.inf is inf file for keypad: USB\VID_109C&PID_0101

because the devcon command should list only the connected USB devices.

You can try a modded version of my second batch file here

Download driverinstall.exe, extract , change some parts of batch file (findstr without /r), <path_to_inf_file> with actual path):

@echo off
setlocal


for /f "tokens=1-4 delims=\& " %%a in ('devcon findall ^=SmartCardReader ^| findstr "USB\\VID"') do (
set VID=%%b
set PID=%%c
set MI=%%d

set SHORTID="USB\%%b&%%c&%%d"
)

rem tokens=1-3 no set MI variable SHORTID=="USB\%%b&%%c" for KeyPad


for %%a in (VID_109C) do if "%%a"=="%VID%" goto %%a
goto :end

:VID_109C
echo %VID%: ETS keyboard
driverinstall.exe updateni <path_to_inf_file>\ETSKB.INF %SHORTID%
rem driverinstall.exe updateni <path_to_inf_file>\ETSKP.INF %SHORTID%
goto :end

:end
endlocal
goto :eof

Reports the results. If something fails, i would like to make it better. :)

It may fails because you have 2 devices with same VID_109C. The batch may need a loop to install both devices. On my computer, i have only one USB SmartCard reader.

Edited by Bilou_Gateux
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...