;
;Oberthur Technologies PIV Smartcard Minidriver for an x86 and x64 based package.
;

[Version]
Signature="$Windows NT$"
Class=SmartCard
ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}
Provider=%FABRIKAMVENDOR%
CatalogFile=PivMinidriver.cat
DriverVer=12/21/2015,1.3.4.438

[Manufacturer]
%FABRIKAMVENDOR%=Minidriver,NTamd64,NTamd64.6.1,NTx86,NTx86.6.1

[Minidriver.NTamd64]
%FabrikamCardDeviceName%=Minidriver64_Install,SCFILTER\CID_8073CC91CBF9A00000007780080003
%FabrikamCardDeviceName%=Minidriver64_Install,SCFILTER\CID_8073CC91CBF9A00000030800001000
%FabrikamCardDeviceName%=Minidriver64_Install,SCFILTER\CID_80548838-E74E-4456-80CC-72C727F766E0

[Minidriver.NTx86]
%FabrikamCardDeviceName%=Minidriver32_Install,SCFILTER\CID_8073CC91CBF9A00000007780080003
%FabrikamCardDeviceName%=Minidriver32_Install,SCFILTER\CID_8073CC91CBF9A00000030800001000
%FabrikamCardDeviceName%=Minidriver32_Install,SCFILTER\CID_80548838-E74E-4456-80CC-72C727F766E0

[Minidriver.NTamd64.6.1]
%FabrikamCardDeviceName%=Minidriver64_61_Install,SCFILTER\CID_8073CC91CBF9A00000007780080003
%FabrikamCardDeviceName%=Minidriver64_61_Install,SCFILTER\CID_8073CC91CBF9A00000030800001000
%FabrikamCardDeviceName%=Minidriver64_61_Install,SCFILTER\CID_80548838-E74E-4456-80CC-72C727F766E0

[Minidriver.NTx86.6.1]
%FabrikamCardDeviceName%=Minidriver32_61_Install,SCFILTER\CID_8073CC91CBF9A00000007780080003
%FabrikamCardDeviceName%=Minidriver32_61_Install,SCFILTER\CID_8073CC91CBF9A00000030800001000
%FabrikamCardDeviceName%=Minidriver32_61_Install,SCFILTER\CID_80548838-E74E-4456-80CC-72C727F766E0

[DefaultInstall]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault

[DefaultInstall.ntamd64]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault64

[DefaultInstall.ntamd64.6.1]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault64


[DefaultInstall.NTx86]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault

[DefaultInstall.NTx86.6.1]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault

[SourceDisksFiles]
PivMinidriver64.dll=1
PivMinidriver.dll=1

[SourceDisksNames]
1 = %MediaDescription%

[Minidriver64_Install.NT]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault64

[Minidriver64_61_Install.NT]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault64
Include=umpass.inf
Needs=UmPass
AddService=AddService

[Minidriver32_Install.NT]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault

[Minidriver32_61_Install.NT]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault
Include=umpass.inf
Needs=UmPass
AddService=AddService

[Minidriver64_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services
AddService = UMPass, 0x00000002, UMPassService_Install
 
[Minidriver32_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services
AddService = UMPass, 0x00000002, UMPassService_Install

[Minidriver64_61_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services
AddService = UMPass, 0x00000002, UMPassService_Install

[Minidriver32_61_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services
AddService = UMPass, 0x00000002, UMPassService_Install

[UMPassService_Install]
DisplayName    = %umpass.SVCDESC%     ; Friendly Name of the Service
ServiceType    = 1                    ; SERVICE_KERNEL_DRIVER
StartType      = 3                    ; SERVICE_DEMAND_START 
ErrorControl   = 1                    ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\umpass.sys
LoadOrderGroup = Extended Base


[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]
PivMinidriver64.dll

[x86_CopyFiles]
PivMinidriver.dll

[wow64_CopyFiles]
PivMinidriver.dll

[AddRegWOW64]
HKLM, %SmartCardNameWOW64%
HKLM, %SmartCardNameWOW64%,"ATR",0x00000001,3B,DF,00,00,81,B1,FE,45,1F,83,80,73,CC,91,CB,F9,A0,00,00,00,77,80,08,00,03,00
HKLM, %SmartCardNameWOW64%,"ATRMask",0x00000001,FF,FF,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00
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,%SmartCardCardModule%

HKLM, %SmartCardNameNistWOW64%
HKLM, %SmartCardNameNistWOW64%,"ATR",0x00000001,3B,DF,00,00,81,B1,FE,45,1F,83,80,73,CC,91,CB,F9,A0,00,00,03,08,00,00,10,00,00
HKLM, %SmartCardNameNistWOW64%,"ATRMask",0x00000001,FF,FF,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00
HKLM, %SmartCardNameNistWOW64%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameNistWOW64%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameNistWOW64%,"80000001",0x00000000,%SmartCardCardModule%

HKLM, %SmartCardNameV8WOW64%
HKLM, %SmartCardNameV8WOW64%,"ATR",0x00000001,3B,D0,00,00,81,B1,FE,45,1F,07,80,31,C1,52,11,18,F9
HKLM, %SmartCardNameV8WOW64%,"ATRMask",0x00000001,FF,F0,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF
HKLM, %SmartCardNameV8WOW64%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameV8WOW64%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameV8WOW64%,"80000001",0x00000000,%SmartCardCardModule%

HKLM, %SmartCardNameV8HighWOW64%
HKLM, %SmartCardNameV8HighWOW64%,"ATR",0x00000001,3B,D0,00,00,80,B1,FE,45,1F,00,80,31,C1,53,00,00,00,00
HKLM, %SmartCardNameV8HighWOW64%,"ATRMask",0x00000001,FF,F0,00,FF,F0,FF,FF,FF,FF,00,FF,FF,FF,FF,00,00,00,00
HKLM, %SmartCardNameV8HighWOW64%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameV8HighWOW64%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameV8HighWOW64%,"80000001",0x00000000,%SmartCardCardModule%

[AddRegDefault]
HKLM, %SmartCardName%
HKLM, %SmartCardName%,"ATR",0x00000001,3B,DF,00,00,81,B1,FE,45,1F,83,80,73,CC,91,CB,F9,A0,00,00,00,77,80,08,00,03,00
HKLM, %SmartCardName%,"ATRMask",0x00000001,FF,FF,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00
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%

HKLM, %SmartCardNameNist%
HKLM, %SmartCardNameNist%,"ATR",0x00000001,3B,DF,00,00,81,B1,FE,45,1F,83,80,73,CC,91,CB,F9,A0,00,00,03,08,00,00,10,00,00
HKLM, %SmartCardNameNist%,"ATRMask",0x00000001,FF,FF,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00
HKLM, %SmartCardNameNist%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameNist%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameNist%,"80000001",0x00000000,%SmartCardCardModule%

HKLM, %SmartCardNameV8%
HKLM, %SmartCardNameV8%,"ATR",0x00000001,3B,D0,00,00,81,B1,FE,45,1F,07,80,31,C1,52,11,18,F9
HKLM, %SmartCardNameV8%,"ATRMask",0x00000001,FF,F0,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF
HKLM, %SmartCardNameV8%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameV8%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameV8%,"80000001",0x00000000,%SmartCardCardModule%

HKLM, %SmartCardNameV8High%
HKLM, %SmartCardNameV8High%,"ATR",0x00000001,3B,D0,00,00,80,B1,FE,45,1F,00,80,31,C1,53,00,00,00,00
HKLM, %SmartCardNameV8High%,"ATRMask",0x00000001,FF,F0,00,FF,F0,FF,FF,FF,FF,00,FF,FF,FF,FF,00,00,00,00
HKLM, %SmartCardNameV8High%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameV8High%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameV8High%,"80000001",0x00000000,%SmartCardCardModule%

[AddRegDefault64]
HKLM, %SmartCardName%
HKLM, %SmartCardName%,"ATR",0x00000001,3B,DF,00,00,81,B1,FE,45,1F,83,80,73,CC,91,CB,F9,A0,00,00,00,77,80,08,00,03,00
HKLM, %SmartCardName%,"ATRMask",0x00000001,FF,FF,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00
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,%SmartCardCardModule64%

HKLM, %SmartCardNameNist%
HKLM, %SmartCardNameNist%,"ATR",0x00000001,3B,DF,00,00,81,B1,FE,45,1F,83,80,73,CC,91,CB,F9,A0,00,00,03,08,00,00,10,00,00
HKLM, %SmartCardNameNist%,"ATRMask",0x00000001,FF,FF,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00
HKLM, %SmartCardNameNist%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameNist%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameNist%,"80000001",0x00000000,%SmartCardCardModule64%

HKLM, %SmartCardNameV8%
HKLM, %SmartCardNameV8%,"ATR",0x00000001,3B,D0,00,00,81,B1,FE,45,1F,07,80,31,C1,52,11,18,F9
HKLM, %SmartCardNameV8%,"ATRMask",0x00000001,FF,F0,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF
HKLM, %SmartCardNameV8%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameV8%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameV8%,"80000001",0x00000000,%SmartCardCardModule64%

HKLM, %SmartCardNameV8High%
HKLM, %SmartCardNameV8High%,"ATR",0x00000001,3B,D0,00,00,80,B1,FE,45,1F,00,80,31,C1,53,00,00,00,00
HKLM, %SmartCardNameV8High%,"ATRMask",0x00000001,FF,F0,00,FF,F0,FF,FF,FF,FF,00,FF,FF,FF,FF,00,00,00,00
HKLM, %SmartCardNameV8High%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameV8High%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameV8High%,"80000001",0x00000000,%SmartCardCardModule64%

[DestinationDirs]
amd64_CopyFiles=10,system32
x86_CopyFiles=10,system32
wow64_CopyFiles=10,syswow64



; =================== Generic ==================================

[Strings]
FABRIKAMVENDOR ="Oberthur Technologies"
MediaDescription="Oberthur Technologies PIV Smart Card Minidriver Installation Disk"
FabrikamCardDeviceName="Oberthur Technologies Minidriver for PIV Smart Card"
SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies PIV Device"
SmartCardNameNist="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies PIV NIST Device"
SmartCardNameV8="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies ID-One PIV on V8 Device"
SmartCardNameV8High="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies ID-One PIV on V8 Device (High Speed)"
SmartCardNameWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies PIV Device"
SmartCardNameNistWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies PIV NIST Device"
SmartCardNameV8WOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies ID-One PIV on V8 Device"
SmartCardNameV8HighWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Oberthur Technologies ID-One PIV on V8 Device (High Speed)"

SmartCardCardModule="PivMinidriver.dll"
SmartCardCardModule64="PivMinidriver64.dll"
umpass.SVCDESC = "Microsoft UMPass Driver"
