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.
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.
If you have a SIM card reader for SIM recovery or contacts synchronization, you may notice some weird behaviour on Windows 7.
Every time you plug in the reader, Windows begins to look for a driver:

This is strange, because you have already installed the driver once; and what is stranger is that despite the fact that Windows fails to find a driver - the SIM card manager still works properly!
The explanation is very simple: Windows doesn't try to install the driver for the smart card reader, instead it attempts to install the driver for the smart card.
Take a look at your device manager, and pay attention to the names of the sections. Notice that the smart card readers are OK (highlighted with green), while the smart cards themselves are marked as "unknown" (highlighted with red). [please excuse the mess in my system, there are many items there because my computer is a testbed for all my experiments]

So, what is all this about? First of all, it is not a bug, it is a feature of Windows 7. It attempts to load a minidriver for the smart card that was plugged in (yes, a SIM card is a smart card, so Windows reacts to a newly inserted SIM card in exactly the same way).
This may be needed for some smart card applications, but it is not needed for SIM card management software (our smart card security tools don't need it either). You have two options here:
How to disable smart card plug and play on Windows 7



After you reboot the system, the pop-ups that show up every time you plug in a smart card will be gone.
Another way to disable smart card plug and play on Windows 7 is to run this from the command line, with admin rights:
Reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ScPnP\ /v EnableScPnP /t REG_DWORD /d 0
Should I disable smart card plug and play?
p.s. those of you who already have SIM Manager, stay tuned for the upcoming release, it's new feature is deleted SMS recovery for the iPhone.
A fresh beta of Logon for Vista is now available for download: http://files.dekart.com/beta/Logon-2.23.1-TVMonday.msi

Changelog:
Recent comments