Summary: | Не работает программа получения обновлений для Консультанта | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Vitaly Lipatov <lav> |
Component: | Общее | Assignee: | Виталий Перов <vitperov> |
Status: | CLOSED FIXED | QA Contact: | Денис Баранов <baraka> |
Severity: | minor | ||
Priority: | P4 | CC: | alexeev, baraka, kondratyuk, vitperov |
Version: | 1.0.10 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 721, 1465, 2666, 3847, 3928, 3937, 3938 | ||
Bug Blocks: | 42, 767 |
Description
Vitaly Lipatov
2007-06-23 10:51:35 MSD
.NET 1.1 в целом ставится. Вопрос в том работает или нет... Первая проблема - нужна mscoree.dll, сейчас исключённая из сборки. Вроде бы mscoree.dll решает проблему нужных dll. Но при запуске программа ругается на отсутствие Framework v.1.1.4322 Установку именно 4322 завершить не удалось. .NET 1.1.4322 ставится, mscoree.dll пока используем виндовую. При установке всё равно происходит ошибка, с вылетом в дебаггер и зацикливанием при выводе окон с сообщением об этой ошибке. Нужно проверить, какое положение вещей сейчас. Передаю в тестирование. Программа получает обновления, но после завершения скачки, должна запуститься программа c:/Program Files/ConsultantPlus Updatev/comar.transport.config.exe Но при ее запуске возникают ошибки, есть подозрение что они связаны с виндовской mscoree.dll. тестировал на cellar, бутылка cons3300.35. По заверению суппорта Консультант для версии 1.8 утилиты обновления требуется .Net 2.0. В связи с закрытием баги 2666, необходимо снова проверить (In reply to comment #8) > В связи с закрытием баги 2666, необходимо > снова проверить > Незадолго до завершения установки, вылезает сообщение об ошибке и происходит падение в дамп: Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:791cfea1 ESP:0033feb4 EBP:0033fec8 EFLAGS:00210246( - 00 -RIZP1) EAX:00000000 EBX:00000000 ECX:793eae2c EDX:00000000 ESI:00000001 EDI:00000000 Stack dump: 0x0033feb4: 00000001 793eae2c 0033ff2c 793c8e40 0x0033fec4: ffffffff 0033fee8 792454f0 00000000 0x0033fed4: 00122128 7b8b6ff4 791c7eb0 00000000 0x0033fee4: 00000000 0033ff08 791c6f1a 00000000 0x0033fef4: 00408e0e 00000000 79011b5f 7ffdf000 0x0033ff04: 791b0000 0033ffe8 7b8769e0 7ffdf000 Backtrace: =>0 0x791cfea1 in mscorwks (+0x1fea1) (0x0033fec8) 1 0x792454f0 in mscorwks (+0x954f0) (0x0033fee8) 2 0x791c6f1a in mscorwks (+0x16f1a) (0x0033ff08) 3 0x7b8769e0 in kernel32 (+0x569e0) (0x0033ffe8) 4 0xb7f0dca7 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000) Какая mscoree использовалась при тесте? (In reply to comment #10) > Какая mscoree использовалась при тесте? > нативная. Если использовать встроенную то вообще что то непонятное: install the Windows version of Mono to run .NET executables install the Windows version of Mono to run .NET executables err:ole:dispatch_rpc no apartment found for ipid {ffffffff-ffff-ffff-6800-00000b000000} err:rpc:I_RpcReceive we got fault packet with status 0x80010108 err:ole:dispatch_rpc no apartment found for ipid {ffffffff-ffff-ffff-6800-00000b000000} err:rpc:I_RpcReceive we got fault packet with status 0x80010108 При том что установлен dotnet 1.1 и 2.0 Не смог даже установить. На ftp 3 папки с консультантом, и не один установщик не работает. Денис, если не сложно, создай пожалуйста чистую бутылку с установленным консультантом. Разобрался. Консультант в принципе не устанавливается, его надо копировать. Но всё-равно сам консультант не запускается. Но это отдельная бага. Нашёл установщик comar. Установил .net1.1 Установил .net2.0 Запустил установщик. В процессе установки программа падает: wine comar.client.1.7.exe err:ole:TLB_ReadTypeLib Loading of typelib L"C:\\Program Files\\Common Files\\InstallShield\\Professional\\RunTime\\IsProBE.tlb" failed with error 2 fixme:storage:StgCreateDocfile Storage share mode not implemented. fixme:shell:IShellLinkA_fnGetPath (0x1134e18): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x1134e18): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x11345e0): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x11345e0): WIN32_FIND_DATA is not yet filled. fixme:ole:CoGetContextToken stub Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at System.Resources.ResourceManager.GetSatelliteAssembliesFromConfig() at System.Resources.ResourceManager.TryLookingForSatellite(CultureInfo lookForCulture) at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) at System.Resources.ResourceManager.GetString(String name, CultureInfo culture) at System.Environment.ResourceHelper.GetResourceStringCode(Object userDataIn) at System.Environment.GetResourceFromDefault(String key) at System.TypeInitializationException..ctor(String fullTypeName, Exception innerException) at System.Globalization.TextInfo.GetNativeTextInfo(Int32 cultureID) at System.Globalization.TextInfo.get_InvariantNativeTextInfo() at System.String.Compare(String strA, Int32 indexA, String strB, Int32 indexB, Int32 length, StringComparison comparisonType) Хоть установка и не работает, но c:/Program Files/ConsultantPlus Updatev/comar.transport.config.exe всё-таки успевает установится. При запуске появляется не полностью прорисованная формочка. Виновата gdiplus.dll. В консоле: ixme:shell:URL_ParseUrl failed to parse L"System.Xml" err:ole:CoGetClassObject class {00000349-0000-0000-c000-000000000046} not registered err:ole:CoGetClassObject class {00000349-0000-0000-c000-000000000046} not registered err:ole:create_server class {00000349-0000-0000-c000-000000000046} not registered fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported err:ole:CoGetClassObject no class object {00000349-0000-0000-c000-000000000046} could be created for context 0x17 fixme:mscoree:LoadLibraryShim (0x4a4ed7c L"Gdiplus.dll", (nil), (nil), 0x32e50c): semi-stub fixme:ole:CoGetContextToken stub fixme:gdiplus:GdipCreateHalftonePalette fixme:gdiplus:GdipCreateHalftonePalette fixme:gdiplus:GdipCreateHalftonePalette fixme:gdiplus:GdiplusNotificationHook 0x729e4f0 fixme:gdiplus:GdipCreateHalftonePalette fixme:gdiplus:GdipBeginContainer2 (0x19c2e0, 0x32f0d4) fixme:gdiplus:GdipSaveGraphics graphics state not implemented fixme:gdiplus:GdipRestoreGraphics graphics state not implemented fixme:gdiplus:GdipGetNearestColor (0x19c2e0, 0x32f00c): stub fixme:gdiplus:GdipEndContainer (0x19c2e0, 0xdeadbeef) fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms.resources" fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms.resources" fixme:gdiplus:GdipGetImageRawFormat stub fixme:gdiplus:GdipSetImageAttributesColorKeys not implemented Попробовал взять нативную gdiplus.dll. В результате сообщение об ошибке: "Failed to load resources from resource file". В консоле: err:ole:CoGetClassObject class {00000349-0000-0000-c000-000000000046} not registered err:ole:CoGetClassObject class {00000349-0000-0000-c000-000000000046} not registered err:ole:create_server class {00000349-0000-0000-c000-000000000046} not registered fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported err:ole:CoGetClassObject no class object {00000349-0000-0000-c000-000000000046} could be created for context 0x17 fixme:mscoree:LoadLibraryShim (0x4b38f5c L"Gdiplus.dll", (nil), (nil), 0x32e50c): semi-stub fixme:ole:CoGetContextToken stub При нажатии на <OK> происходит падение. Если дополнительно выбрать нативной mscoree.dll и ole32, то ничего не меняется: WINEDLLOVERRIDES="gdiplus,ole32,mscoree=n" wine comar.transport.exe fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms" fixme:shell:URL_ParseUrl failed to parse L"System" fixme:shell:URL_ParseUrl failed to parse L"System.Drawing" fixme:advapi:SetSecurityInfo stub fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources" fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources" Unhandled Exception: StackOverflowException. wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0063), starting debugger... Видимо проблемы с нативной gdiplus. И надо использовать сторонюю Идём дальше. Много функций не реализовано, но для начало надо смотреть только те, что приводят к падению. wine: Call from 0x7b8412f1 to unimplemented function gdiplus.dll.GdipBitmapSetPixel, aborting wine: Call from 0x7b8412f1 to unimplemented function gdiplus.dll.GdipBitmapSetPixel, aborting при дальнейшем рассмотрении оказалось, что частичную реализацию уже добавили. Обновился. Проверил. Теперь ошибка немного дальше: fixme:gdiplus:GdipBitmapSetPixel not implemented fixme:gdiplus:GdipEndContainer (0x1807e0, 0xdeadbeef) fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms.resources" fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms.resources" fixme:gdiplus:GdipGetImageRawFormat stub fixme:gdiplus:GdipSetImageAttributesColorKeys not implemented после добавления хака на GdipSetImageAttributesColorKeys идёт немного дальше: fixme:gdiplus:GdipSetImageAttributesColorKeys hacked stub fixme:gdiplus:GdipImageForceValidation 0x1ab618 fixme:gdiplus:GdipBitmapGetPixel not implemented сделал хак, добавляющий GdipBitmapGetPixel. Программа больше не показывает ошибку. В плане функциональности всё прекрасно работает. Но в плане внешнего вида... текст не прорисовывается, различные графические объекты не прорисовываются. Прорисовываются только кнопки. Для решения необходимо реализовывать функции библиотеки gdiplus. Проверил на текущей версии eterhack (1.1.35) Программа вроде работает. Всё отрисовывается. Думаю эту багу можно закрыть. И для новых замеченых проблем заводить новые баги Закрыл случайно, надо закрыть после проверки на сборке 1.2.0 |