Hello All,
I have developed a smart card mini driver to support Win Vista and later operating systems. I'm currently testing it on Win 7 64-bit OS. I had taken the sample inf provided in the smart card mini driver specifications.
When I insert the smart card in reader it is enumerated and populated in device manager. I tried to install the mini driver for the smart card by right clicking and selecting "Update driver software..". The installation was successfull, but the DLL was copied to SystemDir\DriverStore\FileRepository instead of SysWow64 folder. Due to this, Winlogon or Certutil is unable to find the required mini driver and there by it fails. I would like to know if there is anything wrong in INF sections below. I'm not sure if I have to make any changes to any sections so that files are copied to appropriate folder.
Any help would be appreciated.
INF File
[Version]
Signature="$Windows NT$"
Class=SmartCard
ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}
Provider=%ProviderName%
CatalogFile=delta.cat
DriverVer=01/11/2013,1.0.0.0
[Manufacturer]
%ProviderName%=Minidriver,NTamd64,NTamd64.6.1,NTx86,NTx86.6.1
[Minidriver.NTamd64]
%CardDeviceName%=Minidriver64_Install,SCFILTER\CID_92231091
[Minidriver.NTx86]
%CardDeviceName%=Minidriver32_Install,SCFILTER\CID_92231091
[Minidriver.NTamd64.6.1]
%CardDeviceName%=Minidriver64_61_Install,SCFILTER\CID_92231091
[Minidriver.NTx86.6.1]
%CardDeviceName%=Minidriver32_61_Install,SCFILTER\CID_92231091
[DefaultInstall]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault
[DefaultInstall.ntamd64]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault
[DefaultInstall.NTx86]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault
[DefaultInstall.ntamd64.6.1]
AddReg=AddRegWOW64
AddReg=AddRegDefault
[DefaultInstall.NTx86.6.1]
AddReg=AddRegDefault
[SourceDisksFiles]
%SmartCardCardModule%=1
%SmartCardCardModule64%=1
[SourceDisksNames]
1 = %MediaDescription%
[Minidriver64_Install.NT]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault
[Minidriver64_61_Install.NT]
AddReg=AddRegWOW64
AddReg=AddRegDefault
Include=umpass.inf
Needs=UmPass
[Minidriver32_Install.NT]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault
[Minidriver32_61_Install.NT]
AddReg=AddRegDefault
Include=umpass.inf
Needs=UmPass
[Minidriver64_61_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services
[Minidriver32_61_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services
[Minidriver64_61_Install.NT.HW]
Include=umpass.inf
Needs=UmPass.HW
[Minidriver64_61_Install.NT.CoInstallers]
Include=umpass.inf
Needs=UmPass.CoInstallers
[Minidriver64_61_Install.NT.Interfaces]
Include=umpass.inf
Needs=UmPass.Interfaces
[Minidriver32_61_Install.NT.HW]
Include=umpass.inf
Needs=UmPass.HW
[Minidriver32_61_Install.NT.CoInstallers]
Include=umpass.inf
Needs=UmPass.CoInstallers
[Minidriver32_61_Install.NT.Interfaces]
Include=umpass.inf
Needs=UmPass.Interfaces
[amd64_CopyFiles]
%SmartCardCardModule%,%SmartCardCardModule64%
[x86_CopyFiles]
%SmartCardCardModule%
[wow64_CopyFiles]
%SmartCardCardModule64%
[AddRegWOW64]
HKLM, %SmartCardNameWOW64%,"ATR",0x00000001,3B,04,92,23,10,91
HKLM, %SmartCardNameWOW64%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff
HKLM, %SmartCardNameWOW64%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameWOW64%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameWOW64%,"80000001",0x00000000,%SmartCardCardModule64%
[AddRegDefault]
HKLM, %SmartCardName%,"ATR",0x00000001,3B,04,92,23,10,91
HKLM, %SmartCardName%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff
HKLM, %SmartCardName%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardName%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardName%,"80000001",0x00000000,%SmartCardCardModule%
[DestinationDirs]
amd64_CopyFiles=10,system32
x86_CopyFiles=10,system32
wow64_CopyFiles=10,syswow64
; =================== Generic ==================================
[Strings]
ProviderName ="SCMinidriver"
MediaDescription="Smart Card Minidriver Installation Disk"
CardDeviceName="Smart Card Minidriver"
SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\SCMinidriver02"
SmartCardNameWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\SCMinidriver02"
SmartCardCardModule="SCMinidriver02.dll"
SmartCardCardModule64="SCMinidriver02.dll"