« SIM Manager and its new nameSmart card Logon for Windows 7 x64 »

Install the smart card service on Windows 7 and Vista

How to install the smart card service on Windows 7 and Vista

The smart card service is a standard Windows component and it should be present on every system. However, in certain circumstances that is not the case - as a result, programs that depend on this service will fail.

I've previously discussed how to install the smart card service on Windows XP, and I've covered this procedure on Windows 2000. However, I had no solution for Windows Vista and Windows 7.

Fortunately, that is not the case anymore, a solution that works on 32-bit and 64-bit platforms was found, here is how it works.

Sometimes the smart card service is not in the list of services at all, but if you look for the files related to this service (ex: SCardSSP.dll) - they are present in the file system. So the problem is not in the fact that the modules are not there; they are - but they are not loaded.

Having had the opportunity to tinker with a problematic system, I was able to determine that the service is absent because some entries in the registry are different from their "normal system" counterparts.

In other words, the difference is only in the contents of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SCardSvr.

If the service is not listed, open regedit and view that key, it will most likely be absent. If it is present - it means that some of its sub-entries are incorrect.

  1. Backup the key (right-click\Export) to a REG file
  2. Delete the key
  3. Download and import this REG file: http://dl.dropbox.com/u/3258602/scard-vistax86x64.reg
  4. Reboot the system

If the planets are aligned properly - the service will be back, and it will be running after the restart. Give your software a try, everything should work. The registry file above works with Vista x86 and Vista x64.

For Windows 7, use this one: http://dl.dropbox.com/u/3258602/scardsvr-win7x64.reg (it should work on both types of platforms).

For Windows Server 2008, use the same file as for Windows 7; I tested it on x64 - it works.

I hope you'll find this helpful and that you will save all the time I've lost. Feel free to share your experience or ask any questions.

If the sky falls down and Dropbox doesn't work, here is the contents of the files.

Follow up:

Smart card service for Windows Vista

Windows Registry Editor Version 5.00

_MACHINE\SYSTEM\CurrentControlSet\Services\SCardSvr]
"DisplayName"="@%SystemRoot%\\System32\\SCardSvr.dll,-1"
"Group"="SmartCardGroup"
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
6b,00,20,00,4c,00,6f,00,63,00,61,00,6c,00,53,00,65,00,72,00,76,00,69,00,63,\
00,65,00,00,00
"Description"="@%SystemRoot%\\System32\\SCardSvr.dll,-5"
"ObjectName"="NT AUTHORITY\\LocalService"
"ErrorControl"=dword:00000001
"Start"=dword:00000002
"Type"=dword:00000020
"DependOnService"=hex(7):50,00,6c,00,75,00,67,00,50,00,6c,00,61,00,79,00,00,00,\
00,00
"ServiceSidType"=dword:00000001
"RequiredPrivileges"=hex(7):53,00,65,00,43,00,72,00,65,00,61,00,74,00,65,00,47,\
00,6c,00,6f,00,62,00,61,00,6c,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,00,\
67,00,65,00,00,00,53,00,65,00,43,00,68,00,61,00,6e,00,67,00,65,00,4e,00,6f,\
00,74,00,69,00,66,00,79,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,00,67,00,\
65,00,00,00,53,00,65,00,49,00,6d,00,70,00,65,00,72,00,73,00,6f,00,6e,00,61,\
00,74,00,65,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,00,67,00,65,00,00,00,\
00,00
"FailureActions"=hex:84,03,00,00,00,00,00,00,00,00,00,00,03,00,00,00,14,00,00,\
00,01,00,00,00,c0,d4,01,00,01,00,00,00,e0,93,04,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SCardSvr\Parameters]
"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
53,00,43,00,61,00,72,00,64,00,53,00,76,00,72,00,2e,00,64,00,6c,00,6c,00,00,\
00
"ServiceMain"="CalaisMain"
"ServiceDllUnloadOnStop"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SCardSvr\Security]
"Security"=hex:01,00,14,90,90,00,00,00,a0,00,00,00,14,00,00,00,34,00,00,00,02,\
00,20,00,01,00,00,00,02,c0,18,00,00,00,0c,00,01,02,00,00,00,00,00,05,20,00,\
00,00,20,02,00,00,02,00,5c,00,04,00,00,00,00,02,14,00,ff,01,0f,00,01,01,00,\
00,00,00,00,05,12,00,00,00,00,00,18,00,ff,01,02,00,01,02,00,00,00,00,00,05,\
20,00,00,00,20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,\
00,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,01,02,\
00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,00,00,05,20,00,00,\
00,20,02,00,00

Smart card service for Windows Seven

Windows Registry Editor Version 5.00

_MACHINE\SYSTEM\CurrentControlSet\services\SCardSvr]
"DisplayName"="Smart Card"
"Group"="SmartCardGroup"
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
6b,00,20,00,4c,00,6f,00,63,00,61,00,6c,00,53,00,65,00,72,00,76,00,69,00,63,\
00,65,00,41,00,6e,00,64,00,4e,00,6f,00,49,00,6d,00,70,00,65,00,72,00,73,00,\
6f,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00
"Description"="@%SystemRoot%\\System32\\SCardSvr.dll,-5"
"ObjectName"="NT AUTHORITY\\LocalService"
"ErrorControl"=dword:00000001
"Start"=dword:00000002
"Type"=dword:00000020
"DependOnService"=hex(7):50,00,6c,00,75,00,67,00,50,00,6c,00,61,00,79,00,00,00,\
00,00
"ServiceSidType"=dword:00000001
"RequiredPrivileges"=hex(7):53,00,65,00,43,00,72,00,65,00,61,00,74,00,65,00,47,\
00,6c,00,6f,00,62,00,61,00,6c,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,00,\
67,00,65,00,00,00,53,00,65,00,43,00,68,00,61,00,6e,00,67,00,65,00,4e,00,6f,\
00,74,00,69,00,66,00,79,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,00,67,00,\
65,00,00,00,00,00
"FailureActions"=hex:84,03,00,00,00,00,00,00,00,00,00,00,03,00,00,00,14,00,00,\
00,01,00,00,00,c0,d4,01,00,01,00,00,00,e0,93,04,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SCardSvr\Parameters]
"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
53,00,43,00,61,00,72,00,64,00,53,00,76,00,72,00,2e,00,64,00,6c,00,6c,00,00,\
00
"ServiceMain"="CalaisMain"
"ServiceDllUnloadOnStop"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SCardSvr\Security]
"Security"=hex:01,00,14,80,90,00,00,00,a0,00,00,00,14,00,00,00,34,00,00,00,02,\
00,20,00,01,00,00,00,02,c0,18,00,00,00,0c,00,01,02,00,00,00,00,00,05,20,00,\
00,00,20,02,00,00,02,00,5c,00,04,00,00,00,00,02,14,00,ff,01,0f,00,01,01,00,\
00,00,00,00,05,12,00,00,00,00,00,18,00,ff,01,02,00,01,02,00,00,00,00,00,05,\
20,00,00,00,20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,\
00,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,01,02,\
00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,00,00,05,20,00,00,\
00,20,02,00,00

Save this to a file, change the extension to .reg and double-click it to merge it into the registry.

Share/Save/Bookmark
PermalinkPermalinkCategories: Support highlights

13 comments

Comment from: Luca [Visitor]
LucaIt works! Many thanks for your help!
Luca
2011-12-20 @ 09:32
Comment from: Alex [Member]
AlexYeah, you bet it does! It took me a lot of time to find this method, I'm glad it worked for you too :-)
2011-12-22 @ 11:11
Comment from: Alberto [Visitor]
AlbertoIt Works! (on Windows Seven 32-bit)

Thank you so much for this precious help

Alberto
2012-03-20 @ 12:52
Comment from: Andrea P [Visitor]
Andrea PGreat it works on Windows 7 64 bit. Please note that you need to edit the name of the donloaded file without .txt and than import

ciao
2012-04-13 @ 19:54
Comment from: Lautaro [Visitor]
LautaroThanks! Worked on Win 7 32 bits!

In my case, the service was working until an automatic windows update. After the update, the service wasn't even listed, but all the files related were present (SCardSvr.dll, etc..).

The only difference between your registry key and mine's, was the mine's was missing this value:

"Start"=dword:00000002

Thanks again for this solution!
2012-04-24 @ 16:01
Comment from: Jose Luis [Visitor]
Jose LuisThanks!. It has worked on Windows 7 64 bit. Very grateful for your help. I did not know how to make at all.
2012-05-13 @ 13:04
Comment from: Yoeri [Visitor] Email
YoeriThanks for the fix for windows 7 but when I implemented it, the service was there but I had problems logging in with my smart card reader. It froze up. I discovered the problem in the regedit:

Yours:
"DisplayName"="Smart Card"

Mine:
"DisplayName"="@%SystemRoot%\\System32\\SCardSvr.dll,-1"

Small difference but it solved my problem :) for people who have freezingproblems
2012-05-18 @ 11:39
Comment from: Alex [Member]
AlexYoeri, thanks for the comment.

Do you have an English version of Windows?
2012-05-18 @ 17:18
Comment from: Yoeri [Visitor]
YoeriYes, i do :)
2012-05-23 @ 14:25
Comment from: Alex [Member]
AlexHmm, that is strange, I would expect that to happen if it weren't.


Well, I'll keep this in mind - it might save me one day :-)
2012-05-30 @ 11:09
Comment from: Alex [Visitor] Email
AlexIt works yes... But my Omnikey 1021 still wont work(( I thought starting this service will force it to work but even with "device properly working" as shown in Device Manager card reader red light always red and no one bench sees it.
2012-07-19 @ 01:13
Comment from: Alex [Member]
AlexHey Alex, here's what else you can try:

1. set up the reader on another computer, where it works; this computer must have the same OS as yours
2. start REGEDIT and export the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\Readers\ to a REG file
3. run that REG file on the problematic computer

This should do the trick.
2012-07-24 @ 08:46
Comment from: Twister58D [Visitor]
Twister58DNo dice for me,
I followed the directions above (several Times), even went line by line.
I am still getting this message:
"Error Code 1083: the executable program that runs this service is configured to in does not implement the service"

I am running Windows 7X64 HP SP1

Any Ideas, I am traveling and could really use to access my work email...but it is Smart Card enabled.


Luckily I have the exact same OS on my desktop that does run a card reader so I am thinking I will just copy the registry entry from that computer.
2013-06-01 @ 01:49

This post has 112 feedbacks awaiting moderation...