So I have this c# webservice that eventuallly calls C_GetSlotList() method from the German Elster toolkit (Eric) thru some smartcard usb driver placed in system32 folder. I
Changing IIS application pool identity to LocalService usually helps. Don't ask me why :)