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.
It has been reported that in certain circumstances the system will shutdown instead of rebooting itself when the user restarts it while Private Disk is running and an encrypted disk is mounted.
This was a problem difficult to trace; while it repeats itself 10/10 times on a "problematic" machine, on "non-problematic" ones everything is working correctly and it is impossible to simulate the problem.
This is what makes it of reason to make an educated guess that this is caused by a third-party component present on the system, which somehow alters the standard behaviour of Windows. The tough part is that even when you think you have disabled all the non-standard programs, there is a myriad of low-level components that one can't see with the naked eye.
I am on Private Disk v 2.09. I close my files and every time I try to disconnect a drive letter I get the message:
There are files currently opened on disk Z:\
I feel that my data is not closing correctly. My question is how do I find out what file(s) are still open and how do I close them?
Quite often a volume can be used by a service, or another process that is running in the background - which makes it difficult to detect. In such cases, the best approach is to use a tool that monitors all the file activity that goes on in the system, and examine the list of processes that interfere with files located on the specific volume.
One such tool is Process Monitor; among many things, it can show which programs are working with data on a specific volume.
All you have to do is close these programs, and try to dismount the volume again.
If you see an unknown program accessing the volume, and you don't know how to close it (or you are not sure whether "killing the process" will have any serious consequences or not), look up the name of the program in a search engine and that will give you enough details to make a correct decision.
Sometimes it happens that you type a password, the system tells you it's wrong, but you are absolutely sure it is not, and that you know what you're doing.
The problem is that what you think you type is not always what gets typed.
Here is a checklist you should go through, to make sure you've got everything covered; some items may sound trivial, but you should take them seriously:
The optimal solution
If everything fails, or you are not skilled enough to check the system settings and the keyboard's internals, open up Notepad, and type your password.
Once you see that what you typed is what you thought you typed, use copy/paste to transfer the password into the entry box.
This will allow you to deal with every single item in the checklist.
What if it is still not accepted?
If you've made sure that the password is typed correctly, but the system still won't accept it, it is possible that the administrator changed it (so it's an issue on their end, not on your's).
Contact the person who controls the system you are logging on to, and ask them whether the password was changed, reset, or de-activated.
Earlier I explained how blue screens of death can be countered, today I will describe an alternative approach, which achieves the same result using different means.
Normally, the blue screen of death contains a driver name, and some addresses; if you're lucky, removing that driver will do the trick. But what if there is no driver name on the BSoD? And what if you don't have all the skills to play with crashdumps and debuggers?
In this case, Autoruns comes to the rescue. This is a graphical tool that allows you to disable/enable drivers in a very easy way.
The steps above will be repeated until the system is able to boot correctly.
When that happens, remember what were the last changes you applied, and try to enable some drivers back - until you figure out which one of them was causing the issue.
The advantage of this method is that you can keep unchecking drivers without knowing what they do, because undoing any change is as easy as checking an item back (this is one of the coolest things about Autoruns).
What makes a driver suspicious?
When temporarily disabling a driver, you are not yet sure whether the driver in question is the culprit, so an educated guess is your best option. Start by unchecking:
In the example above, I highlighted Private Disk's drivers, you can see the description and the vendor name - this illustrates how one can easily spot the modules related to an application.
Note: if you have a driver from 'Micr0soft' or "MlCROSOFT" (i.e. something that mimics the name of a well-known vendor), it is most likely a piece of malware, so you should not only disable it, but also figure out how it got in your system in the first place.
How to find the blue screening driver faster?
Usually one's technical knowledge provides sufficient data for a good guesstimate, but what if you have no clue where to start, and there are a lot of suspect items? In this case, try the binary search:
The trick is in narrowing down the problem to as few items as possible. At each step the list of suspects is cut in two, so eventually you are left with one single item.
How to tune my Windows performance with Autoruns?
If you switch to the other tabs, you'll see a lot of other stuff that loads automatically when the system boots (drivers, services, applications in the registry, various shell extensions, etc). You can go ahead and uncheck the items that look suspicious - this will cut boot times, and make the system faster once it is loaded (since less stuff is loaded into RAM).
Beware of the fact that if you uncheck the wrong stuff, certain functionality will be lost, and the system may become partially unusable. Therefore be careful with the changes you apply:
If you're looking for a way to re-install the smart card service on Windows XP, this story is your new best friend!
Steps 3 and 4 are optional, but if you're someone who tinkers with the service, I'm sure you want to know what's in there.
If you examine scardsvr.inf you will see that it contains references to a list of files and registry keys. These actions could be performed manually, the effect would be the same; but using an .inf file is much easier.
Sometimes things go wrong, Windows crashes with a blue screen of death (also known as a BSoD), resetting the computer.
The blue screen contains some information about the cause of the error, often that information can help you solve the problem almost immediately. However, most systems are configured to restart automatically when a blue screen occurs, thus there is not enough time to actually read the text on the blue screen.
You're missing a great deal of data - the name of the faulty driver, the code of the error itself, and some addresses which might be useful later.
To prevent that from happening, Windows can be configured not to restart the system automatically when such a crash occurs. This gives you enough time to analyze the data on the blue screen and figure out whether something can be done about it.
To do that:
From now on, you'll have plenty of time to enjoy the view of the blue screen, it will be displayed until you press the reset button (laptop owners beware: if you don't have a reset button, you'll have to turn the system off, then turn it back on).
Basic troubleshooting steps
Minidump - what do I do with it?
By default Windows will create a minidump, and store it to %windir%\minidump. The minidump contains information about the state of the system before the crash; these data can be used to understand what caused the error, and how to fix it (once you find the offending driver, it's a good idea to contact the authors of that module and give them the minidump as well).
Note that interpreting a minidump is not easy if you are not an experienced developer. You are more likely to have a positive result if you try the tips described above. If nothing helps, get hold of the created minidump and send it to someone who knows what to do with it.
If you want to give it a try yourself, use Microsoft's Debugging tools for Windows. Once you run the debugger, go to File\Open crash dump, and then you're on your own.
How to enable minidumps
Some may choose to disable the creation of minidumps (to save space perhaps?), but they are very important when troubleshooting a problem. To enable the minidumps:
2g 3g admin authentication beta biometry «blue screen» bsod business cdma clone driver email encryption «file system» form-filling gsm howto internet keeper keylogger logon mobile name partition password «password carrier» portability privacy «private disk» release ruim security seven sim «sim card» «sim manager» «sim reader» «smart card» software tips token troubleshooting usb usim vista windows wiping x64 xp