Single Post |
Topic: [wlx] odbc-wlx - просмотр Access, Excel, CSV файлов |
Author |
Message |
Destiny
|
Posted: Sat Nov 06, 2021 17:28 Post subject: |
|
|
В общем да, проблемы 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 битными дровами))) Все последующие попытки отрыть файл были успешны, быстры, безглючны! |
|
|
|
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|