Странная ошибка с ntdll.dll в Windows 7 Ultimate x64 SP1
WINDOWS 7 ULTIMATE X64 SP1
Недавно я пробовал (условно-бесплатную) программу управления буфером обмена под названием Spartan, которая поставляется с кучей умных и полезных функций, но, похоже, у нее довольно крутая кривая обучения.
Когда я впервые запустил программу после установки, я получил следующее сообщение об ошибке:
"Не удалось найти точку входа в процедуру RtlGetNtSystemRoot в библиотеке динамических ссылок ntdll.dll."
В строке заголовка диалогового окна с сообщением об ошибке указано имя программы "SpartanClips.exe".
Следует отметить, что это не было фатальной ошибкой: программа все еще могла запускаться, и, насколько я вижу, она все еще работает нормально.
Каждый раз, когда программа запускается, я получаю одно и то же сообщение об ошибке.
В папке с программой [C:\Program Files (x86)\Spartan Standard] есть 2 исполняемых файла: "SpartanClips.exe" и "Lnch.exe", второй из которых, по-видимому, является средством запуска для внешних программ, например как системный браузер по умолчанию.
Теперь меню "Справка" в главном окне спартанца содержит ряд элементов, большинство из которых требуют запуска браузера, и если я щелкну любой такой пункт меню, я получу то же сообщение об ошибке, что и выше, но строку заголовка диалогового окна сообщения содержит имя программы "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, перечисленных выше, я был бы очень признателен.
Последний запрос: если кто-то посчитает, что для этого поста могут понадобиться дополнительные полезные теги, я был бы очень признателен за предложения.
Заранее спасибо за помощь!
1 ответ
Это не странная ошибка. Разработчики назвали функцию 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.