Sbrf dll не регистрируется
Обновлено: 06.07.2024
Первичную настройку интеграции со сбером должны выполнять специалисты Сбербанка!
Укажите специалисту Сбербанка что терминал должен формировать один слип! В настройках процессинга же в админ панели для Сбербанка укажите число копий слипа- два
Касса напрямую не взаимодействует с пин-падом, всё общение производится через промежуточный софт Сбербанка: sbrf.dll или pilot_nt.dll - это библиотека, реализующая основные запросы к пин-паду:
Если коротко, то Касса запрашивает у sbrf.dll или pilot_nt.dll проведение оплаты на заданную сумму, далее библиотека выполняет все необходимые действия с пин-падом и возвращает программе результат операции (в виде числового кода). Расшифровку числовых кодов нужно запрашивать у Сбербанка.
Настройка
После установки и настройки sbrf.dll или pilot_nt.dll лежит где-то на диске C ( C:\SBFR\ , C:\sc252 и т.п. где конкретно должен сказать специалист Сбера). Если всё настроено и «работает» то так же в этой папке должна быть программа loadparm.exe - если при запуске она показывает окошечко, значит связь с пин-падом есть, иначе - нет.
Бывает что настройка выполнена не полностью, в этом случае придется что-то делать руками.
pinpad.ini
pinpad.ini - файл с настройками связи с пин-падом:
ComPort - номер COM порта по которому подключен пин-пад. Обычно физически пин-пад подключен к компьютеру через USB, при этом устройство встает как виртуальный ком порт. Данная настройка должна совпадать с номером порта в системе. Если вы не можете определить какой из виртуальных портов пин-пад - выключите его, один из портов должен пропасть, потом включите, он снова должен появиться, используйте его номер для настройки ShowScreens - отвечает за то показывать ли диалоговое окно пин-пада при проведении операций. 1 - показывать, 0 - не показывать. Для касс рекомендуется показывать, т.е. 1 PinpadLog - вести ли лог обмена с пин-падом. 0 - не вести, 1 - вести.Для того, что бы касса могла использовать sbrf.dll ее необходимо зарегистрировать в системе! Это, по идее, должны так же делать специалисты Сбербанка, но они этого не делают… обычно. В любом случае повторная регистрация не навредит:
Смените текущую директорию на папку с библиотекой сбербанка
Настройки для pilot_nt.dll
Если используем pilot_nt.dll необходимо на каждом рабочем месте настроить переменную среды SB_PILOT_NT_PATH и указать в ней папку в которую установлена pilot_nt.dll (после настройки кассовое приложение необходимо полностью перезапустить, если до момента настройки оно было запущено, в случае автокассы необходимо перезапустить службу Jade.Cashdesk.Service ).
Для настройки параметра нажмите «Пуск» и начните вводить «переменных среды»
Запустите приложение, нажмите «Переменные среды», в группе «Системные переменные» нажмите «Создать…»
В имени переменной укажите SB_PILOT_NT_PATH , в значении папку с pilot_nt.dll :
Процедура оплаты
Оплата производится с поддержкой аварийной отмены, т.е. при проведении платежа он переводится в «неподтвержденное» состояние, подтверждается платеж только после печати чека. В иных случаях операция буедт отменена и деньги вернутся на счет клиенту. Даже если программа/компьютер на мертво зависли, или вырубилось электричество, и т.п. - деньги будут возвращены при сверке итогов в конце дня.
Проблемы
В случае если при оплате/возврате возникает ошибка «Нет связи с пин-падом», или «Ошибка номер такой-то, смотрите подробности в таблице ошибок» - это означает что sbrf.dll - вернула программе соответствующий код ошибки и программа считает операцию не выполненной.
Потеря связи с пин падом
При потерях связи с пин-падом:
Включите ведение логов обмена с пин-падом: в pinpad.ini установите PinpadLog=0 Предоставьте специалистам Сбербанка и Лайма логи и времена событий (логи - все txt и log файлы из папки с библиотеками сбербанка)Журнал операций
Эквайринг сбербанка поддерживает возможность просмотра журнала операций и отмены оных. Отмена транзакций протоколируется и выводится в специальном отчёте: Отмены транзакций эквайринга
Пример разбора лога sbkernel[ddmm].log
sbkernel[ddmm].log - лог операций библиотеки sbrf.dll за dd - день, mm - месяц. Ведется библиотекой в случае установки параметра PinpadLog=1 в pinpad.ini .
Ниже мы разберем две оплаты - успешную и сбойную. В логе красным приведены комментарии, некоторые комментарии приводятся единожды, при дальнейшем чтении лога следует держать их в голове, для понимания происходящего.
Пример успешной операции
Описание
Если коротко то это сценарий оплаты с аварийной отменой, по сути мы даем в sbrf.dll три команды: 4000 (платеж), 6003 (перевести платеж в неподтвержденное состояние), 6001 (перевести платеж в подтвержденное состояние). Далее sbrf.dll общается с пинпадом сама, нам сообщая только результат операции (Result = 0, если не 0, то ошибка).
Пример сбойной операции
Описание
В такой ситуации программа будет считать что операция не выполнена (даже если пинпад, на самом деле, её провёл). По сути данную проблему должны решать специалисты Сбербанка.
Среди частых вопросов пользователей, особенно после того, как они сталкиваются с тем, что какая-то из библиотек DLL отсутствует в Windows 10, Windows 11 или других версиях системы — как зарегистрировать DLL в соответствующей версии ОС.
В этой инструкции подробно о способах регистрации библиотек DLL в Windows x64 и x86 (32-бит) с помощью regsvr32.exe (и кратко о regasm.exe), о возможных нюансах и проблемах, которые могут возникнуть в процессе.
Дальнейшие шаги описаны в предположении, что DLL, которую нужно зарегистрировать, уже находится в нужном расположении: папке C:\Windows\System32, C:\Windows\SysWOW64 или, в некоторых случаях — отдельных папках программ, к которой относится соответствующая библиотека, например, для 1С — C:\Program Files\1cv8\номер_версии\bin (или Program Files x86 в случае 32-битной версии).
Прежде чем приступить к регистрации библиотеки, учитывайте следующие моменты:
- В x64 версиях Windows 64-битные DLL хранятся в System32, а 32-битные — в SysWOW64 (у некоторых начинающих пользователей бывает обратное предположение исходя из имён папок).
- Файлы DLL x64 и x86 (32-бит) — это разные файлы. И если прямого указания на разрядность в месте загрузки файла нет, то чаще это 32-битный файл (что не мешает ему работать в x64 системе), но это не всегда так.
- Для регистрации библиотеки DLL используется системный инструмент regsvr32.exe, который также доступен в двух версиях, которые лежат в папках System32 и SysWOW64 (в случае 64-битных систем). По умолчанию при описываемых далее действиях запускается x64 версия.
- 32-битным программам и играм (по умолчанию устанавливаются в Program Files x86 в 32-битных системах) для работы нужны 32-битные DLL, не зависимо от разрядности Windows.
Сам процесс регистрации в общем случае состоит из следующих шагов:
Почему не удается зарегистрировать DLL
Ошибка при регистрации с помощью regsvr32 вида «Точка входа DllRegisterServer не найдена» говорит о том, что эта библиотека DLL не поддерживает регистрацию описанным методом. Можно попробовать использовать вариант команды:
но с большой вероятностью и это не поможет.
У большинства домашних пользователей такая проблема возникает при регистрации файлов DLL для игр и программ, часто не вполне лицензионных, которые сообщили, что нужный файл DLL не обнаружен или отсутствует. Причем сами библиотеки DLL обычно скачаны со сторонних сайтов (и чаще всего имеют имена начинающиеся с «vc», «msvc» или «d3d»). А решение, как правило, простое — выяснить, частью какого набора компонентов является эта DLL и установить эти компоненты с помощью их собственного установщика. Более подробно проблема и подходы к решению описаны в инструкции Точка входа DllRegisterServer не найдена — причины и возможные решения.
Видео
Надеюсь, цель достигнута, а количество вопросов, связанных с регистрацией DLL в Windows, уменьшилось.
Варианты решения проблемы
Имеется несколько методов, позволяющих устранить данную проблему. Рассмотрим каждый из них подробнее.
Способ 1: OCX/DLL Manager
OCX/DLL Manager – это маленькая программа которая может помочь зарегистрировать библиотеку или файл OCX.
OCX/DLL Manager также умеет отменять регистрацию библиотеки, для этого понадобится выбрать в меню пункт «Unregister OCX/DLL» и в последствии проделать все те же операции, как и в первом случае. Функция отмены может вам понадобиться для сравнения результатов при активированном файле и при отключенном, а также в процессе удаления некоторых компьютерных вирусов.
В процессе регистрации, система может выдать вам ошибку, говорящую о том, что требуются права администратора. В таком случае, нужно запустить программу нажав на неё правой кнопкой мыши, и выбрать «Запуск от имени администратора».
Способ 2: Меню «Выполнить»
Можно зарегистрировать DLL, используя команду «Выполнить» в стартовом меню операционной системы Windows. Для этого нужно будет произвести следующие действия:
- Нажать клавиатурную комбинацию «Windows + R» или выбрать пункт «Выполнить» из меню «Пуск».
Этот пример подойдёт вам в том случае, если операционная система установлена на диск С. Если она находится в другом месте, то нужно будет поменять букву диска или воспользоваться командой:
В таком варианте программа сама находит папку где у вас установлена ОС и запускает регистрацию указанного DLL файла.
В случае с 64-разрядной системой у вас будет две программы regsvr32 — одна находится в папке:
и вторая по пути:
Это разные файлы, которые используются раздельно для соответствующих ситуаций. Если у вас 64-битная ОС, а файл DLL 32-битный, тогда сам файл библиотеки должен быть помещен в папку:
и команда будет выглядеть уже так:
Способ 3: Командная строка
- Выберите команду «Выполнить» в меню «Пуск».
- Впишите в открывшемся поле для ввода cmd.
- Нажмите «Enter».
Перед вами появится окно, в котором нужно будет вводить те же команды, что и во втором варианте.
Надо отметить, что у окна командной строки имеется функция вставки скопированного текста (для удобства). Найти это меню можно, нажав правой кнопкой на пиктограмме в левом верхнем углу.
Способ 4: Открыть с помощью
- Откройте меню файла, который будете регистрировать, нажав по нему правой кнопкой мыши.
- Выберите «Открыть с помощью» в появившемся меню.
или в случае, если вы работаете в 64-битной системе, а файл DLL 32-разрядный:
Возможные ошибки
«Файл не совместим с установленной версией Windows» — это означает, что вы, скорее всего, пытаетесь зарегистрировать 64-разрядную DLL в 32-битной системе или наоборот. Воспользуйтесь соответствующей командой, описанной во втором способе.
В заключение нужно сказать, что суть всех предложенных вариантов одна и та же — это просто разные методы запуска команды регистрации — кому как удобнее.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Куда устанавливать DLL-файлы
Ну а дальше всё просто:
В качестве примера давайте зарегистрируем библиотеку runtime.dll для 32-хбитной версии Windows 10. команда будет такой:
Связана она либо с ошибкой в пути или имени файла, либо с неправильно выбранной папкой, в которую была скопирована ДЛЛ-ка для регистрации. Стоит ещё раз всё тщательно проверить.
Запись опубликована 16 сентября 2017 автором XasaH в рубрике Windows с метками regsvr32, библиотеки windows, длл файлы, зарегистрировать dll, регистрация dll.Помогло? Посоветуйте друзьям!
Как зарегистрировать библиотеку dll в Windows 10 : 11 комментариев
Ну хорошо! А почему для 64 битной не написали пример пути регистрации? Вот куда закинуть написали, а как зарегистрировать только для 32.
Так подставляйте папку в пример и всё. Проще некуда.
неплохо бы напомнить, что и resvr32.exe существует в 2-х экземплярах (разной разрядности).
и что dll-ки бывают разной разрядности! и что 64-х битную dll в 64-х битной винде надо кидать в system32, а не в syswow64
Всё-б так было просто взял и скопировал runtime библиотеку в
%SystemDrive%\Windows\system32 🙂
Вы автор пробовали ?? похоже нет.
1-е данная директория защищена службой Защита программного обеспечения C:\WINDOWS\system32\sppsvc.exe которую Вы оставили запущенной
2-е Владельцем директории по умолч является TrustedInstaller
группа Система и Администраторы имеют права чтение и выполнение
Замена прав и атрибутов в директориях %SystemDrive%\Windows\system32 и \ SysWOW64 приведут к краху ос
А без полных прав и владения объектом при копировании вам покажут национальную индейскую избу.
Игорь, Вы путаете. Дело в том, что в 32-х разрязной Windows динамические библиотеки лежат как раз в папке system32. В 64х разрядной библиотеки 64х программ лежат в System32, а 32х разрядных приложений в sysWOW64. Потому в 90% случаев и нужно в Windows 10 x64 класть библиотеки в папку sysWOW64. Надеюсь, что понятно объяснил.
Изначально для игры сделано
Но помогает и с другими OCX( dll )
Регистрирует в пользовательский отдел реестра, в 10ке помогает, во всяком случае для l2 и msxml4 точно
Читайте также: