Не устанавливается драйвер USB-Токен для Интернет-банка (Клиент-Банк). USB Token код ошибки 39

10.12.2014

Описание проблемы.

Система Windows XP Professional SP3 (32 бит, рус, сборка, установлены все обновления).

Как сказано в руководстве по установке системы интернет-банк, до подключения USB-токена следует установить драйверы (iBank2Key-Driver-Windows-x86-1.11.exe), а после установки драйверов в Диспетчере устройств должны появиться 4 новых устройства "USB Token Holder". Но этого не произошло и никаких новых устройств не появилось, хотя установка драйверов прошла успешно. При подключении USB-токена отображалось окно с сообщением "Требуемая секция в INF-файле не найдена". Дальнейшие действия по установке системы "Клиент Банк" не имели смысла.

Решение.

Как уже говорилось выше, на компьютере стояла "урезанная" сборка Windows XP, а переустановить на полную версию не представлялось возможным, т.к. ещё установлена рабочая 1С. Поэтому пришлось шаманить...

4 новых устройства "USB Token Holder" должны были появиться в Диспетчере устройств в разделе "Устройства чтения смарт-карт". За этот раздел отвечает ветка реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{50DD5230-BA8A-11D1-BF5D-0000F805F530}.
Но, как оказалось этого класса в реестре не существовало. Появиться и корректно работать он мог только при установке нового оборудования. Поэтому в inf-файл драйвера USB-токена, была встроена секция, которая создаёт этот класс.

[ClassInstall32]
AddReg = SmartCardReaderClassAddReg

[SmartCardReaderClassAddReg]
HKR,,,,Устройства чтения смарт-карт
HKR,,Icon,,"-25"
HKR,,NoInstallClass,,1

Готовый inf-файл можно скачать отсюда.

Теперь, как воспользоваться этим inf-файлом. Если ранее установили iBank2Key-Driver-Windows-x86-1.11.exe, то удаляем. Вставляем USB-токен, в окне установки драйверов указываем папку куда сохранили скачанный inf-файл. Далее в окне установки оборудования нажимаем "Прекратить установку". Всё! Раздел создан и класс прописан в реестре. Отключаем USB-токен. Если inf-файл не подхватился вашим токеном, то подправьте inf-файл, прописав вместо USB\VID_096e&PID_0005 значения VID и PID вашего токена. Узнать их можно во вкладке СВЕДЕНИЯ диспетчера устройств, выбрав свойства вашего токена.

Если на этом этапе запустить установку iBank2Key-Driver-Windows-x86-1.11.exe, то в Диспетчере устройств уже появляется раздел "Устройства чтения смарт-карт", но четыре новых устройства "USB Token Holder" выделяются желтым кружком с восклицательным знаком, а в их свойствах указано "Не удалось загрузить драйвер этого устройства. Возможно, драйвер поврежден или отсутствует. (Код 39)". Как выяснилось, не хватало файла smclib.sys, который должен находиться в папке WINDOWS\SYSTEM32\DRIVERS. Поэтому перед запуском инсталляции драйверов iBank2Key-Driver-Windows-x86-1.11.exe, надо убедиться в наличии этого файла. При необходимости восстановить его, разархивировав из оригинального дистрибутива WINDOWS, например, с помощью WINRAR. Для версии Windows XP Professional SP3 (32bit, rus) можно скачать отсюда. Проделав всё это, запускаем установку (USB-токен не подключен), драйвера 4-х устройств "USB Token Holderдолжны установиться корректно. Подключаем USB-токен, драйвер подхватывается автоматически, появляется пятое устройство "USB Token Device".

Далее, как написано в руководстве по установке системы интернет-банк, скачиваем и устанавливаем JAVA и пробуем войти в систему. При этом если в окне входа в систему не отображается (не считывается) ИДЕНТИФИКАТОР с USB-токена, то скорее всего в WINDOWS удалена служба "Смарт-карты". Для восстановления службы "Смарт-карты" в Windows XP необходимо сделать следующее:

  1. Проверьте наличие в папке Windows\system32 файлов scardssp.dll и scardsvr.exe. Если их нет, то восстановить (разархивировать) из оригинального дистрибутива Windows. Для версии Windows XP Professional SP3 (32bit, rus) можно скачать отсюда.
  2. Зарегистрируйте библиотеку scardssp.dll, выполнив команду: Regsvr32 C:\Windows\system32\scardssp.dll
  3. Запустите установку подсистемы смарт-карт: Scardsvr reinstall
  4. Для корректной работы Rutoken необходимо чтобы вход в систему производился с учетной записью Local ServiceДля проверки (установки) заходим в "Службы" выбираем  "Smart Card" -> вторая закладка "Log On" ("Вход в систему") -> выбираем второй пункт сверху "This account" ("С учетной записью") -> нажимаем кнопку "Browse" ("Обзор")  -> набираем пару букв "Lo" -> нажимаем кнопку "Check Names" ("Проверить имена") должно появится LOCAL SERVICE. Нажимаем ОК, еще раз ОК. Если появляется окно с сообщением о неверном пароле, то стираем пароли в предыдущем окне. Делаем рестарт службы. Запускаем службу "Пуск".

После всех этих действий система Клиент Банк благополучно заработала.

Удачи!