Есть программа стороннего разработчика. Исходников нет. Программа при старте подгружает одну dll sc2_cam.dll. dll лежит в той же директории, что и исполняемый файл. При работе под WinXP программа работает нормально, под Win2k — пишет, что не может загрузить dll. Запускаю apimon из MS Resource kit. Он пишет (под win2k), что вызывается функция LoadLibraryA с именем библиотеки "sc2_cam". результат её работы ошибка 0x7e, возвращамое значение 0. dll (просмотрена PE) — нормальная 32bit dll. KB164501 читал, В списке KnownDlls она не перечислена ни под XP ни под 2k. DLL redirect'а нет. в реестре значение HKLM\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode отсутствует. Вопрос: В чём причина, и как заставить программу работать под Win2k?
Здравствуйте, MZU, Вы писали:
MZU>Есть программа стороннего разработчика. Исходников нет. Программа при старте подгружает одну dll sc2_cam.dll. dll лежит в той же директории, что и исполняемый файл. При работе под WinXP программа работает нормально, под Win2k — пишет, что не может загрузить dll.
а ты эту sc2_cam.dll под win2k depends-ом проверял? похоже это ей чего-то не хватает под win2k
Слава, Алексей,
спасибо за помошь. Похоже дело действительно в этом. sc2_cam.dll is delay-linked с некоторыми системными dll windows XP. Что интересно, разработчик утверждает, что у него всё прекрасно работает и под win2k. Простым переносом dll дело не решается (пишет, что не найдена какая-то процедура в kernel32.dll). Видимо дело в том, что те dll, что есть в XP, хотят пользоваться какими-то Xp-specific функциями других системных dll. Вопрос: как же всё-таки запустить это под 2k?
Здравствуйте, MZU, Вы писали:
MZU>Видимо дело в том, что те dll, что есть в XP, хотят пользоваться какими-то Xp-specific функциями других системных dll. Вопрос: как же всё-таки запустить это под 2k?
таки для начала при помощи depends-а выяснить чего _конкретно_ не хватает