Бутылка 1c81/1c81-katran. Для воспроизведения запускаем LicenceServer.exe в c:/Program Files/1cv81/v81/System (должен быть вставлен ключ Катран), затем 1cv8.exe. При нажатии на кнопку "СоздатьОбработку" должно появляться окошко, а видим ошибку "СистемаЛицензирования : Системная ошибка."
Для того чтобы запускался LicenceServer.exe, надо использовать eterhack с последними патчами (которые на данный момент в рассылке).
Установил ключ от Альфа-авто в cellar. Драйвер загружен. Запускаю сервер лицензий. Статус СЛК (всплывает в трее): "Запущен - cellar (Порт: 9099). Не обнаружены ключи защиты!" Сборка 11/6 - её же должно хватить для запуска или прикладывать дополнительно какие-то патчи?
> Установил ключ от Альфа-авто в cellar. Надо использовать другой ключ Катран (маленький красный). Установил его в cellar.
Created attachment 1384 [details] Как это выглядит в WinXP
Не думаю, что тут дело в OLE. Единственный fixme, который появляется - это: fixme:ole:CoCreateInstance no instance created for interface {b196b28d-bab4-101a-b69c-00aa00341d07} of class {92d9aabb-3502-40c9-899b-212b97e21ee1}, hres is 0x80004002 но он не повторяется при повторном нажатии кнопки, к тому же запуск сервера/платформы через wineole ничем не отличается от запуска через wine.
Если приложить патч 'version: Fix processing "\\\\VarFileInfo\\\\Translation" (eterbug #4656)', исправляющий получение информации о версии файла (http://bugs.etersoft.ru/show_bug.cgi?id=4656#c14), то nkey.sys в бутылке 1c81/1c81-katran падает.
Если добавить в хак для Катрана обработку ioctl 0x2220c4 и реализовать функцию IoCreateUnprotectedSymbolicLink (просто вызов IoCreateSymbolicLink), то nkey.sys не падает. При нажатии на кнопку "Создать обработку" появляется сообщение `СистемаЛицензирования : Ошибка создания обработки "ПримерОбработки" (Ошибка при выполнении файловой операции '\\.\672B.0058F3C8.epf').`
Из лога 1С: 0067:Call KERNEL32.CreateFileW(0105b320 L"//./672B.005B5C71.epf",80000000,00000001,00000000,00000003,00000000,00000000) ret=04dc36e5 0067:Ret KERNEL32.CreateFileW() retval=000004f0 ret=04dc36e5 ........... 0067:Call KERNEL32.ReadFile(000004f0,0032b3b8,00002000,0032b3a0,00000000) ret=04dc3833 0067:Ret KERNEL32.ReadFile() retval=00000001 ret=04dc3833 ........... 0067:Call KERNEL32.CreateFileW(0105b488 L"C:/windows/temp/v8_7f16_9.tmp",c0000000,00000000,00000000,00000005,00000000,00000000) ret=04dc36e5 0067:Ret KERNEL32.CreateFileW() retval=ffffffff ret=04dc36e5 0067:Call KERNEL32.CreateFileW(0105b488 L"C:/windows/temp/v8_7f16_9.tmp",c0000000,00000000,00000000,00000004,00000000,00000000) ret=04dc36e5 0067:Ret KERNEL32.CreateFileW() retval=000004f4 ret=04dc36e5 ........... 0067:Call KERNEL32.SetFilePointer(000004f4,00000000,00000000,00000001) ret=04dc3b87 0067:Ret KERNEL32.SetFilePointer() retval=00000000 ret=04dc3b87 0067:Call KERNEL32.WriteFile(000004f4,04e91b70,00001e81,0032b380,00000000) ret=04dc37e0 0067:Ret KERNEL32.WriteFile() retval=00000001 ret=04dc37e0 0067:Call KERNEL32.ReadFile(000004f0,0032b3b8,00002000,0032b3a0,00000000) ret=04dc3833 0067:Ret KERNEL32.ReadFile() retval=00000001 ret=04dc3833 ........... 0067:Call KERNEL32.CloseHandle(000004f4) ret=04dc376a 0067:Ret KERNEL32.CloseHandle() retval=00000001 ret=04dc376a ........... 0067:Call KERNEL32.CreateFileW(0105b3e8 L"C:/windows/temp/v8_7f16_9.tmp",c0000000,00000000,00000000,00000003,00000000,00000000) ret=04dc36e5 0067:Ret KERNEL32.CreateFileW() retval=000004f4 ret=04dc36e5 ........... 0067:Call KERNEL32.LockFile(000004f4,00000000,00000000,00000001,00000000) ret=104a5edf 0067:Ret KERNEL32.LockFile() retval=00000001 ret=104a5edf ........... 0067:Call KERNEL32.SetFilePointer(000004f4,00000000,0032cb14,00000000) ret=104a5e15 0067:Ret KERNEL32.SetFilePointer() retval=00000000 ret=104a5e15 0067:Call KERNEL32.SetFilePointer(000004f4,00000000,00000000,00000001) ret=04dc3b87 0067:Ret KERNEL32.SetFilePointer() retval=00000000 ret=04dc3b87 0067:Call KERNEL32.ReadFile(000004f4,0032cb18,00000010,0032cb0c,00000000) ret=04dc3833 0067:Ret KERNEL32.ReadFile() retval=00000001 ret=04dc3833 ........... 0067:Call KERNEL32.SetFilePointer(000004f4,00000010,0032cc0c,00000000) ret=104a5e15 0067:Ret KERNEL32.SetFilePointer() retval=00000010 ret=104a5e15 0067:Call KERNEL32.SetFilePointer(000004f4,00000000,00000000,00000001) ret=04dc3b87 0067:Ret KERNEL32.SetFilePointer() retval=00000010 ret=04dc3b87 0067:Call KERNEL32.ReadFile(000004f4,0032cc1c,0000001f,0032cc04,00000000) ret=04dc3833 0067:Ret KERNEL32.ReadFile() retval=00000001 ret=04dc3833 0067:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0032cbf4) ret=7c359aed 0067:Call ntdll.RtlUnwind(0032cce0,7c359b4e,0032cae0,00000000) ret=7c359b4e 0067: eax=1062dbb0 ebx=1062dbb0 ecx=1062dbb0 edx=0032cce0 esi=0032c5a0 edi=1062dbd4 ebp=0032c4c0 esp=0032c4ac ds=007b es=007b fs=0033 gs=003b flags=00200246 ........... Возможно, ошибка связана с возникновением исключения. Но из-за чего оно возникает непонятно. e06d7363 - это CXX_EXCEPTION.
1С на Windows работает с сервером лицензирования, запущенным под WINE. 1С в WINE при работе с сервером лицензирования, запущенным на Windows, выдаёт такую же ошибку, как и при работе с сервером, запущенным в WINE.
В core81.dll по адресу 0x1051261B вызывается _CxxThrowException.
Получил из Катран новую версию СЛК: /var/ftp/pvt/Windows/Keys/katran_test/Common.zip С новыми версиями LicenceServer.exe и LicenceAddIn.dll окно при нажатии на кнопку "СоздатьОбработку" появляется. Проверялось с патчем `version: Fix processing "\\\\VarFileInfo\\\\Translation" (eterbug #4656)'.
Created attachment 1461 [details] Скриншот
Вроде бы поддерживать старую версию СЛК нам не нужно, так что баг можно считать исправленным.
Закрываю как не актуальную, т.к. поддержка старой версии СЛК не осуществляется.