+++ Данная задача создана размножением задачи 1154 +++ В wine пользователь, имеющий все права на всю свою .wine, не является администратором с точки зрения методов, определяющих это из программы. В частности, из-за этого возникают проблемы с регистрацией базовой 1С 8.1. ================================ Немного переделал наш патч для библиотеки wbemprox.dll. Требуется проверить не появилась ли бага. Изменения будут доступны начиная с eterhack 1.3.25-alt1.7
Для того,чтобы приступить к проверке,необходимо получить возможность установки программы на машину в vbox.Для этого необходимо починить var/ftp/unstable. Клонировать репозиторий в vbox не получится.Скопировать свой и собрать wine тоже не получилось. В бутылке проверять мне не рекомендовали,потому что при попытке регистрации можно потратить имеющуюся лицензию.В vbox сеть можно отключить. Откладываю.
Я так понимаю что не обязательно git использовать - последний собранный unstable 1.3.27-eter1.2
Сборки есть. Проверьте пожалуйста.
ubuntu 11.04 wine-etersoft1.3.27-eter1.9ubuntu wine-etersoft-sql 1.7.1-eter3ubuntu 1c8.1 ,база AccountingBase При запуске конфигурации получаю сообщение о том,что можно получить лицензию,запустив программу от имени администратора компьютера. То есть,воспроизводится.
можно посмотреть здесь: wine@eterhack bottle bugs/7504
Трейс по wbemprox: trace:wbemprox:DllMain wbemprox.dll:DllMain:(0x74e80000, 1, (nil)) trace:wbemprox:DllGetClassObject {4590f811-1d3a-11d0-891f-00aa004b2e24} {00000001-0000-0000-c000-000000000046} 0x32ea70 trace:wbemprox:wbemprox_cf_CreateInstance (nil) {dc12a687-737f-11cf-884d-00aa004b2e24} 0x32ebb4 trace:wbemprox:WbemLocator_create ((nil),0x32ea00) trace:wbemprox:WbemLocator_create returning iface 0x2bd92f8 trace:wbemprox:wbem_locator_QueryInterface 0x2bd92f8 {dc12a687-737f-11cf-884d-00aa004b2e24} 0x32ebb4 fixme:wbemprox:wbem_locator_ConnectServer 0x2bd92f8, L"root\\cimv2", (null), (null), (null), 0x00000000, (null), (nil), 0x32ebf0) trace:wbemprox:wbem_locator_Release destroying 0x2bd92f8
Функция wbem_locator_ConnectServer возвращает WBEM_E_FAILED, что, очевидно, и приводит к провалу проверки. Просто вернуть S_OK - не вариант, нужна точка подключения к серверу.
Описание метода: http://msdn.microsoft.com/en-us/library/aa393720%28v=vs.85%29.aspx
(В ответ на comment #8) > Описание метода: > http://msdn.microsoft.com/en-us/library/aa393720%28v=vs.85%29.aspx Нет, вот описание: http://msdn.microsoft.com/en-us/library/aa391769%28v=vs.85%29.aspx
Эта бага в winehq: http://bugs.winehq.org/show_bug.cgi?id=13896 В целом, информация там повторяет мои исследования. Ничего больше, к сожалению.
Добавил в реализацию метода ConnectServer вызов конструктора IWbemServices. Поскольку код для IWbemServices у нас есть (eterbug #1154), конструктор успешно отрабатывает и возвращает интерфейс, реализации которого достаточно, чтобы 1С проверила "админовость" пользователя.
А как это проверить? В свежей бутылке eterhack bottle bugs/7504-1 -воспроизводится.
(В ответ на comment #12) > А как это проверить? В свежей бутылке eterhack bottle bugs/7504-1 > -воспроизводится. WINE должен быть не ниже 1.3.27-alt1.15, установил его в eterhack. Теперь можно проверять.
Да,раньше в сообщении были строки "Запустите программу от имени администратора", теперь в запросе лицензии таких строк нет,можно сразу регистрироваться.