Клиент говорит что ключ Катран. И у него с нашими драйверами не работает.
Оказывается, хак для драйверов Катран был сломан. Отправил в рассылку исправление.
Created attachment 1195 [details] Записи реестра для работы с nkey.sys
Для работы с nkey.sys надо скопировать его в windows/system32/drivers, импортировать в реестр приаттаченный reg-файл и выполнить wineserver -k
Что касается /var/ftp/pvt/Windows/Keys/KATRAN/Protection.zip, setup.exe отрабатывает нормально, если не устанавливать драйвер защиты конфигураций.
По информации от разработчиков драйвер NKey.sys не работает с оборудованием. Он предназначен для организии обмена данными между компонентами системы. Так что использовать reg-файл из комментария #2 не надо, он делает неправильные вещи.
Реализовал загрузку драйвера. Внёс изменения в process_ioctl, предотвращающие падение LicenceServer.exe и LicenceTest.exe. Защищённая конфигурация (/var/ftp/pvt/Windows/Keys/katran_test) при запуске выводит: {МодульПриложения(17)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты Причина ошибки, по-видимому, в том, что DllGetClassObject({4657278a-411b-11d2-839a-00c04fd918d0}, &IID_IClassFactory, &ptr) из LicenceAddIn.dll возращает CLASS_E_CLASSNOTAVAILABLE. Написал простую программу, вызывающую эту функцию. В ней возвращается S_OK.
В последнем сообщении я перепутал CLSID. Вместо 4657278a-411b-11d2-839a-00c04fd918d0 должно быть 92d9aabb-3502-40c9-899b-212b97e21ee1.
Если перед вызовом DllGetClassObject записать по смещению 0xa215c относительно адреса apartment_loaded_dll->dll->DllGetClassObject, то, что помещается по смещению 0xbb9b8 от начала LicenceAddIn.dll после вызова CoLoadLibrary, то при запуске 1С появляется окно "Установка связи с сервером лицензий". После такой правки указателей при выходе из 1С появляется окно с сообщением "Exception EInvalidPointer in module LicenceAddIn.dll at 00004235"
Проблема вызвана тем, что LicenceAddIn.dll загружается 2 раза: 1-й раз - по длинному имени в CoLoadLibrary, а 2-й - как LICE~L20.DLL в CoCreateInstance. Проблема проявляется, только если в модуле приложения в функции ЗапускМенеджераЛицензий() прописано длинное имя. Убрал таймауты у функций, обслуживающих ввод-вывод для USB-устройств. Теперь при запуске 1С появляется окно "Обработка Проверка лицензирования" и сообщение "СистемаЛицензирования : Системная ошибка". Это же сообщение появляется при нажатии на кнопку "Создать обработку". Остальные кнопки работают нормально.
http://bugs.winehq.org/show_bug.cgi?id=18775
Исправил баг с повторной загрузкой LicenceAddIn.dll.
Закоммитил NKey.sys в закрытую часть.
Новая версия СЛК (/var/ftp/pvt/Windows/Keys/katran_test/Common.zip) работает без nkey.sys.
Проверить на последнем WINE что с ключом.
/var/ftp/pvt/Windows/Keys/katran_test/Common.zip) WINE@Etersoft 1.0 Network 1.0.12-eter8/17 На nkey.sys не жалуется Принята
Закрываю.