При попытке запуска программы ГАРАНТ 3.6.0 возникает ошибка. WINE@Etersoft 1.0 SQL 1.3.27/1.7.1-eter1.9/3 wine@eterhack bottle bugs/7435
Created attachment 2279 [details] ошибка
Не находит файл garant.ini - после установки его нет в c:/Program Files/Garant-Server а также в d c:/Program Files/Garant-Client
бутылка : eterhack bottle garant/7435 WINE@Etersoft 1.0 SQL 1.3.34/2.0.0-eter1.2/2
На Windows с этим дистрибутивом всё в порядке?
дистрибутив брала отсюда:/Windows/Правовые/Гарант/cs_25.11.2011/2977985 от 25 ноября. Ранее его ставила и запускала на 1.0.12 для баги https://bugs.etersoft.ru/show_bug.cgi?id=7880
На windows запускается.
Скорее всего это из-за того,что при установке теперь гарант просит ввести вручную адрес сервера и клиента.Создала багу 7932
(В ответ на comment #7) > Скорее всего это из-за того,что при установке теперь гарант просит ввести > вручную адрес сервера и клиента.Создала багу 7932 Не вижу однозначной связи. Если проблема в каком-то адресе сервера, то она характерна только CS-версии? У нас есть локальный Гарант, чтобы всё это выяснить?
Если скопировать в system32 shell32.dll из бутылки, проинициализированной 1.0.12, и откатить коммит 540b5e9f90acd8f677929ce3eb0471b81f561e5a (msi: fix deferred execution custom actions behaviour in ACTION_CustomAction(...). Eterbug 807), то файл garant.ini в процессе установки создаётся. При установке выводится сообщение "failed to load module gsock32.dll".
В 1.0.12 garant.ini корректно создаётся при установке даже если удалить shell32.dll
Гарант без проблем ставится с открытой частью 1.0.12 в бутылку на eterhack, созданную 2.0.0. Найти старую версию eterhack, на которой бы не было данного бага, не получилось. На совсем старых версиях установщик вообще не запускается.
> Если скопировать в system32 shell32.dll из бутылки, проинициализированной > 1.0.12, и откатить коммит 540b5e9f90acd8f677929ce3eb0471b81f561e5a (msi: fix > deferred execution custom actions behaviour in ACTION_CustomAction(...). > Eterbug 807), то файл garant.ini в процессе установки создаётся. При установке > выводится сообщение "failed to load module gsock32.dll". Наличие shell32 из Win приводит к исчезновению одной ошибки в логе +msi: $ grep 'DllThread custom action (.*) returned 1603' garant_install_eterhack_native_shell32.log trace:msi:DllThread custom action (3e) returned 1603 $ grep 'DllThread custom action (.*) returned 1603' garant_install_eterhack.log trace:msi:DllThread custom action (3e) returned 1603 trace:msi:DllThread custom action (69) returned 1603 Место с ошибкой в логе установки: trace:msi:MSI_ProcessMessage INSTALLMESSAGE_ACTIONSTART: L"Перемещаются основные настройки во временное расположение" ........... trace:shell:SHFileOperationA trace:shell:PathIsRelativeW (L"C:\\Program Files\\Garant-Server\\settings\\*.*") trace:shell:PathIsRelativeW (L"C:\\Program Files\\Garant-Server\\settings.tmp\\*.*") ........... trace:msi:DllThread custom action (69) returned 1603 ........... trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 10 L"Action ended 14:36:09: InstallFinalize. Return value 1603." При установке с Win-версией shell32: trace:msi:MSI_ProcessMessage INSTALLMESSAGE_ACTIONSTART: L"Перемещаются основные настройки во временное расположение" ........... trace:shell:SHFileOperationA trace:shell:PathIsRelativeW (L"C:\\Program Files\\Garant-Server\\settings\\*.*") trace:shell:PathIsRelativeW (L"C:\\Program Files\\Garant-Server\\settings.tmp") Видно, что при наличии Win-версии shell32 после settings.tmp нет \\*.* Кроме того, не очень ясно, каким образом влияет наличие Win-версии shell32.dll, если судя по логам всё равно используется встроенная
Был когда-то похожий баг: 1074. Попробовал собрать с dlls/shell32/shlfileop.c из 1.0.12. Проблема осталась.
> Видно, что при наличии Win-версии shell32 после settings.tmp нет \\*.* Посмотрел исходники полученной от разработчиков Гаранта msihlp32.dll. *.* в конец добавляется в этой dll, если определяется, что версия shell32.dll меньше, чем нужно. Видимо, это какой-то воркэраунд.
Сделал, чтобы у shell32 была нужная версия. Теперь, если создать бутылку с новой открытой частью, то garant.ini нормально создаётся. Надо ещё исправить ошибку "failed to load module gsock32.dll".
Установленный Гарант падает при запуске. Под 1.0.12 в этой же бутылке запускается. Приложил заново откаченный патч "ntdll: Fix a problem with starting Garant 7.5.0 (eterbug #5864)." После этого Гарант стал выводить ошибку о том, что он не может найти GblAdapter.dll. Судя по всему, проблема в том, что find_dll_file не инициализирует хэндл файла библиотеки.
Оказалось, что проблема была вызвана исправлением для #6247. Сделал, чтобы при запуске Гаранта точки входа для нескольких функций ntdll менялись на те, что были ранее (без SDT-индексов). Теперь при запуске выводится сообщение "Файлы данных отсутствуют или повреждены!" Ошибка "failed to load module gsock32.dll" при установке ушла.
ошибки,связанной с garant.ini нет. Теперь другая ошибка - "сервер приложений недоступен". Она возникает в конце установки или при запуске программы. Возможно, это связано с тем,что гарант во время инсталляции просит ввести адрес сервера. В 1.0.12 он автоматически определяет его: cellar.office.etersoft.ru, но в 2.0 даже если ввести его руками, ошибка остается. Жду решения 7932.
новая eterhack bottle garant/7625 2.0.0-eter0.17/7
Пересоздал wineprefix в бутылке garant/7625. При установке в качестве адреса сервера ввёл eterhack. При запуске установленного Гаранта выводится сообщение "Файлы данных отсутствуют или повреждены!"
Принято.