Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [wlx] odbc-wlx - просмотр Access, Excel, CSV файлов 
Author Message
Destiny



PostPosted: Sat Nov 06, 2021 17:28    Post subject: Reply with quote

В общем да, проблемы 64битных драйверов связаны именно с тем, что в комплекте для установки есть и прописывается в реестр ТОЛЬКО 1033 языковой ресурс - т.е. инглиш. А система, после того как загружается первичный файл ACECORE.dll, тут же ищет по реестру прописанные ему в соответствии языковые ресурсы. Хз, конечно, что там такого языкового. Но ищет И т.к. в реестре есть только запись для "C:\Program Files\Common Files\microsoft shared\OFFICE16\1033\ACEINTL.DLL", хотя и искалось для 1049, то ничего нужного по нужному пути не находится. А находится лишь по существующему в реестре: "C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\1049\ACEINTL.DLL". И тут коса находит на камень. Либа пытается загрузиться:
Code:
00:00:38.000: GetProcAddress(0x00007FFA5FA00000 [c:\program files\common files\microsoft shared\office16\MSO.DLL], 0x0000000000000D98) called from "c:\progra~1\common~1\micros~1\office16\ACEODBC.DLL" at address 0x00007FFA936D7931 and returned 0x00007FFA5FA0F7BC by thread 1.
00:00:38.015: GetProcAddress(0x00007FFA8BA70000 [c:\windows\system32\MSI.DLL], 0x00000000000000CB) called from "c:\program files\common files\microsoft shared\office16\MSO99LWIN32CLIENT.DLL" at address 0x00007FFA62C78A0F and returned 0x00007FFA8BB61740 by thread 1.
00:00:38.015: LoadLibraryExW("C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\1049\ACEODBCI.DLL", 0x0000000000000000, 0x00001000) called from "c:\program files\common files\microsoft shared\office16\MSO30WIN32CLIENT.DLL" at address 0x00007FFA73F92361 by thread 1.
00:00:38.015: Loaded "c:\program files (x86)\common files\microsoft shared\office16\1049\ACEODBCI.DLL" at address 0x0000000068DD0000 by thread 1.  Successfully hooked module.
00:00:38.015: Unloaded "c:\program files (x86)\common files\microsoft shared\office16\1049\ACEODBCI.DLL" at address 0x0000000068DD0000 by thread 1.
00:00:38.031: LoadLibraryExW("C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\1049\ACEODBCI.DLL", 0x0000000000000000, 0x00001000) returned NULL by thread 1. Error: %1    Win32 (193).
00:00:38.281: LoadLibraryExW("ACEODBCI.DLL", 0x0000000000000000, 0x00001000) called from "c:\program files\common files\microsoft shared\office16\MSO30WIN32CLIENT.DLL" at address 0x00007FFA73F92361 by thread 1.
00:00:38.281: LoadLibraryExW("ACEODBCI.DLL", 0x0000000000000000, 0x00001000) returned NULL by thread 1. Error:     (126).

Да, сам текст ошибки невозможно прочитать - глюк проги, что выводит зависимости. Но это оно, т.к. более ошибок нет за этим и есть вывод окна/диалога с текстом "Unable to load odbcji32.dll".
И как мы видим, если изначальная библиотека MSO.DLL + ACEODBC.DLL выбираются из правильной папки - для 64битных процессов, то вот библиотека ресурсов тянется "не оттуда": "c:\program files (x86)\common files\microsoft shared\office16\1049\ACEODBCI.DLL".
В итоге я скинул все 5 файлов из подпапки \1033 из пути "c:\Program Files\Common Files\microsoft shared\OFFICE16\1033\" в папку с Тоталом и ....
Первая загрузка почему-то опять обломалась. Тотал встал раком. Напрочь. Помогло лишь закрытие его. НО я решил рискнуть и второй раз открыть xls файл и... и он открылся))) Открылся нашим плагином в 64 битной версии)) с 64 битными дровами))) Все последующие попытки отрыть файл были успешны, быстры, безглючны!
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group