Странная ошибка с ntdll.dll в Windows 7 Ultimate x64 SP1

588
Clueless_Chris

WINDOWS 7 ULTIMATE X64 SP1

Недавно я пробовал (условно-бесплатную) программу управления буфером обмена под названием Spartan, которая поставляется с кучей умных и полезных функций, но, похоже, у нее довольно крутая кривая обучения.

Когда я впервые запустил программу после установки, я получил следующее сообщение об ошибке:

"Не удалось найти точку входа в процедуру RtlGetNtSystemRoot в библиотеке динамических ссылок ntdll.dll."

В строке заголовка диалогового окна с сообщением об ошибке указано имя программы «SpartanClips.exe».

Следует отметить, что это не было фатальной ошибкой: программа все еще могла запускаться, и, насколько я вижу, она все еще работает нормально.

Каждый раз, когда программа запускается, я получаю одно и то же сообщение об ошибке.

В папке с программой [C: \ Program Files (x86) \ Spartan Standard] есть 2 исполняемых файла: «SpartanClips.exe» и «Lnch.exe», второй из которых, по-видимому, является средством запуска для внешних программ, например как системный браузер по умолчанию.

Теперь меню «Справка» в главном окне Spartan содержит несколько элементов, большинство из которых требуют запуска браузера, и если я щелкаю по любому из таких пунктов меню, я получаю то же сообщение об ошибке, что и выше, но строку заголовка диалогового окна сообщения содержит имя программы «Lnch.exe».

Опять же, эта ошибка не является фатальной: системный браузер по умолчанию запускается и выводит меня на соответствующую веб-страницу.

Несмотря на то, что я еще не зарегистрировал программу, разработчик был готов оказать как можно больше помощи, но, к сожалению, он также озадачен тем, почему должна быть ошибка с ntdll.dll, потому что его программа не сделать любые вызовы ntdll.dll, и он предположил, что может быть проблема либо с kernel32.dll, либо с shell32.dll, потому что программа "Lnch.exe" делает вызовы только этим двум библиотекам при запуске браузера по умолчанию, и он предположил, что один или несколько из этих файлов могут быть повреждены, и, возможно, стоит проверить и восстановить их, а также загрузить и установить свежую копию самой спартанской программы.

Теперь удаление и повторная установка Spartan не имели значения, и ни один из них не выполнял «SFC / SCANNOW», который не нашел проблем.

Папка программы Spartan также содержит ряд других DLL:

Объем в накопителе СИСТЕМЫ

Серийный номер тома 0CAC-7592

Каталог C: \ Program Files (x86) \ Спартанский Стандарт

2017-04-12 11:28 78,336 ASYCFILT.DLL

2017-03-18 19:18 8,704 COMCAT.DLL

2017-03-18 19:18 27,136 CTL3D32.DLL

2009-07-14 01:15 1,386,496 msvbvm60.dll

2017-04-28 02:19 605 936 OLEAUT32.DLL

2017-04-28 01:33 89,088 OLEPRO32.DLL

2014-12-26 14:40 86 016 SPELL32.DLL

1997-01-16 00:00 29 696 VB5STKIT.DLL

2002-11-15 15:43 225,280 vic32.dll

9 файл (ов) 2 536 688 байт

0 Dir (s) 836,495,990,784 байт бесплатно

Хотя я знаю, что представляют собой некоторые из этих DLL-библиотек, я немного озадачен некоторыми из них, особенно теми, которые имеют очень старые даты файлов. (Есть один файл, который датируется 2009 годом, другой, который датируется 2002 годом, и еще один, который датируется 1997 годом)!

Если кто-нибудь может дать мне несколько советов о том, как использовать Windows Event Viewer для поиска журнала неудачных вызовов ntdll.dll, я мог бы предоставить дополнительную информацию.

Кроме того, если бы кто-нибудь мог дать мне объяснение цели всех (или любых) из 9 DLL, перечисленных выше, я был бы очень признателен.

Последний запрос: если кто-то посчитает, что для этого поста могут понадобиться еще несколько полезных тегов, я был бы очень признателен за предложения.

Заранее спасибо за помощь!

0
Проблема может быть в исходном коде этой программы. Связаться с разработчиком. Biswapriyo 6 лет назад 0
Я уже связался с разработчиком, который сказал мне, что его приложение вообще не вызывает никаких функций в ntdll.dll. Он утверждает, что единственными библиотеками Windows, вызываемыми его программой, являются kernel32.dll и shell32.dll. Я начинаю думать, что в недавнем Центре обновления Windows может быть установлена ​​версия ntdll.dll, неправильная для Windows 7. Clueless_Chris 6 лет назад 0

1 ответ на вопрос

1
magicandre1981

Это не странная ошибка. Разработчики назвали функцию, ntdll.dllкоторая доступна только в Windows 10, начиная с RS2 (Creators Update):

#if (NTDDI_VERSION >= NTDDI_WIN10_RS2) _IRQL_requires_max_(PASSIVE_LEVEL) NTSYSAPI PCWSTR NTAPI RtlGetNtSystemRoot ( VOID ); #endif // NTDDI_VERSION >= NTDDI_WIN10_RS2 

Обратитесь в службу поддержки, чтобы получить версию для Windows 7.

Я уже связался с разработчиком, который сказал мне, что его приложение вообще не вызывает никаких функций в ntdll.dll. Он утверждает, что единственными библиотеками Windows, вызываемыми его программой, являются kernel32.dll и shell32.dll. Я начинаю думать, что в недавнем Центре обновления Windows может быть установлена ​​версия ntdll.dll, неправильная для Windows 7. Clueless_Chris 6 лет назад 0
чем он нацелен на приложение для сборки 10.5063.0 в опции VS, поэтому вызов неявно называется magicandre1981 6 лет назад 0