Зависимый DLL-файл не найден

Обновлено: 21.11.2024

Лучший способ отладить модуль, который не регистрируется, — это открыть файл REGSVR32.EXE в Dependency Walker, а не в DLL. Затем выберите запуск профилирования (F7). В диалоговом окне профилирования введите полный путь к вашей DLL в поле «Аргументы программы». Для «Начального каталога» вы можете указать каталог, в котором находится DLL. Отметьте параметры, которые вы хотите использовать, и нажмите «ОК». Это запустит REGSVR32.EXE и попытается зарегистрировать вашу DLL. Запустив REGSVR32.EXE, вы можете увидеть больше типов ошибок времени выполнения.

Во-первых, у Dependency Walker есть накладные расходы, которые замедляют выполнение вашего приложения. Если ваше приложение дает сбой из-за какого-либо состояния гонки, одного этого замедления может быть достаточно, чтобы избежать состояния гонки. Если это так, то это проблема дизайна приложения, и вам просто повезло, когда оно не падает.

Во-вторых, обычно, когда потоки блокируются в критических разделах, событиях, семафорах, мьютексах и т. д., они разблокируются в порядке поступления (FIFO). Это не гарантируется ОС, но обычно так и есть. При запуске под отладчиком очереди FIFO иногда рандомизируются, поэтому потоки могут блокироваться и возобновляться в другом порядке, чем если бы они не выполнялись под отладчиком. Это может быть устранение состояния гонки или достаточное изменение выполнения, чтобы все заработало. Опять же, приложению просто повезло, если оно не падает.

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

Обсудите и поддержите зависимые DLL-файлы при установке и обновлении Windows 10, чтобы решить проблему; Как узнать, какие файлы зависят от autorun.dll? Я считаю, что нашел свою проблему в постоянном сбое обновлений. Я выследил а. Обсуждение в разделе «Установка и обновление Windows 10», начатое SMann4, 19 сентября 2019 г.

зависимые файлы DLL

зависимые dll-файлы — Похожие темы — зависимые dll-файлы

DLL-файл

Файлы DLL не найдены

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

DLL-файл

DLL-файл: Привет. Недавно я обнаружил файл msdia80.dll от сентября 2005 года в своем разделе данных на диске D:, в то время как Windows и другие программы установлены на диске C:. Насколько мне известно и по памяти, раньше его там не было. Когда я проверил этот форум в поисках решения, я обнаружил, что такой файл должен быть.

dll-файлы

dll-файлы: когда я пытаюсь загрузить игру, она говорит, что мне не хватает двух dll-файлов. Один помечен как vcruntime140.dll, а другой помечен как msvcp140.dll. Как исправить это там, где этого нет.

Открытие файла .dll?

Открытие файла .dll? Здравствуйте, у меня есть файл, который в процессе установки новой программы требует открыть и проверить, установлен ли какой-либо флажок. Всякий раз, когда я нажимаю на нее, я получаю: «Вы пытаетесь открыть файл типа «Системный файл (.dll)» и т. д. Внизу есть серое поле с надписью «ОК».

Повреждённый файл DLL

Повреждён DLL-файл. Здравствуйте, Система Battleye Easy Anticheat в War Thunder перестала работать, притворившись, что файл «dbgcore.dll» поврежден. Я попытался заменить его, следуя инструкциям в руководстве Microsoft, но затем получил следующее: [ПРИЛОЖЕНИЕ] Перевод с французского: идентификатор между учетной записью.

Файлы DLL?

Файлы DLL?: Здравствуйте! В настоящее время у меня проблема в BFV (Battlefield 5), где мне нужно обновить драйверы AMD. Я не могу, потому что, когда я обновляю драйверы, весь мой компьютер тормозит, когда я пытаюсь что-то сделать. Я не пытаюсь говорить о BFV, но я пытаюсь понять, где я.

Расположение файлов DLL

Расположение DLL-файлов. Я читал некоторые другие компетентные комментарии о том, кто «должен» получать доступ к файлам. Моя антивирусная система отправила уведомление о том, что мои файлы могут быть заражены. Я хотел бы запустить их сканирование. Но я не могу найти их в системе. Спасибо.

Отсутствует файл DLL

Отсутствует файл DLL: не удается понять, где и почему возникает эта ошибка. Я заменил свой принтер, который был HP 6700.Я использовал панель управления и удалил ее с устройств и принтеров. Затем я установил новый, HP 7610. Он работает нормально. Но каждый раз, когда я запускаю систему.

Разве не неприятно получать сообщение об ошибке при открытии программы, которую вы используете постоянно? Это гораздо более распространено, чем вы думаете, так что, по крайней мере, у вашего несчастья есть компания. Возможно, это заставит вас чувствовать себя лучше, когда вы в следующий раз увидите эту ошибку. Во многих случаях такая ошибка может указывать на отсутствующий файл .dll, о котором вы не знаете.

Как отсюда уйти? Где искать этот файл? Как исправить ошибку?

У нас есть ответы на все эти вопросы. Но давайте начнем с самого начала.

Что такое файл .dll?

Библиотека динамической компоновки, или сокращенно DLL, представляет собой общую библиотеку инструкций, которая может использоваться двумя или более программами. Как правило, все программы делятся на разные модули, и файлы .dll содержат эти модули, особенно те, которые являются общими для программ.

Файлы Dll помогают модульизовать код, повторно использовать код, эффективно использовать память и занимать меньше места на диске. Все это означает, что программы работают быстрее и эффективнее.

Поскольку это не независимый файл, такой как исполняемый файл (.EXE), работающая программа должна явно вызывать этот файл.

Проблемы, связанные с каждым файлом .dll

Хотя файлы .dll выглядят как отличный способ обмена кодом, они также имеют свои собственные проблемы.

Каждый раз, когда программа использует DLL, она создает зависимость. Если другая программа использует ту же dll и меняет ее содержимое или, что еще хуже, удаляет сам файл, зависимость первой программы нарушается, и это приводит к остановке выполнения первой программы.

Эта зависимость нарушается в следующих сценариях.

  • При обновлении зависимой dll, то есть файла .dll, используемого другой программой.
  • Если кто-то по ошибке или намеренно удалит из системы зависимый DLL-файл.
  • Когда программа или пользователь устраняют проблему, существующую в зависимом файле .dll.
  • Когда зависимый файл перезаписывается более ранней версией.

Каждая из этих проблем называется конфликтом .dll, и именно в этом случае вы получаете сообщение об ошибке «отсутствует файл .dll».

Как исправить ошибку «отсутствует файл .dll»

Существует множество способов исправить ошибку «отсутствует файл .dll».

Никогда не загружайте файл .dll

Хотя может показаться заманчивым загрузить отсутствующий файл .dll из Интернета, этого решения вам определенно следует избегать. Во-первых, загруженный файл .dll может содержать вредоносное ПО, способное заразить всю вашу систему. Кроме того, загруженная версия может не совпадать с версией в вашей операционной системе, и это обязательно усугубит ваши проблемы.

Перезагрузите компьютер

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

Но когда некоторые файлы .dll отсутствуют, вы не можете перезагрузить компьютер. В таком случае выполните принудительный перезапуск и посмотрите, решит ли это проблему.

Получить удаленные файлы

Иногда вы могли случайно удалить файл .dll самостоятельно. Если это так, найдите свою корзину и восстановите ее. Кроме того, вы можете восстановить удаленные файлы с помощью программного обеспечения для восстановления файлов. Однако обратите внимание, что этот метод не решит вашу проблему, если файл .dll был поврежден до его удаления. Это будет работать только для хороших, но удаленных файлов .dll.

Вредоносное ПО

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

Восстановите систему

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

Переустановите приложение

Если у вас есть оригинальный компакт-диск или вы можете переустановить программное обеспечение, которое выдает ошибку об отсутствующем файле .dll, попробуйте его. Это должно решить проблему во многих случаях, особенно если она вызвана конфликтом dll с другими работающими программами.

Обновить драйверы

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

Обновите драйверы вашего устройства, чтобы проверить, решит ли это проблему.

Обновить Windows

Некоторые обновления Windows могут изменять или заменять файлы .dll, поэтому эти файлы недоступны, когда другая программа хочет их использовать. Обновите Windows и проверьте, устраняет ли это ошибку. Преимущество этого исправления в том, что оно также улучшит общее состояние вашей системы.

Проверка системных файлов (SFC)

Использование средства проверки системных файлов — оптимальный способ исправить ошибки, связанные с отсутствующими файлами .dll. Фактически, Windows 7 и более поздние версии имеют встроенную SFC, которая заменяет отсутствующие файлы .dll и устраняет эту проблему. Чтобы запустить это сканирование, введите «sfc /scannow» в командной строке. Рекомендуется запустить эту команду в безопасном режиме.

Используйте инструмент готовности к обновлению системы

Инструмент готовности к обновлению системы, также называемый средством обслуживания образов развертывания и управления ими (DISM), исправляет некоторые ошибки повреждения в Windows. Возможно, это сработает и здесь.

В Windows 10, 8.1 и 8 откройте командную строку с повышенными привилегиями и введите следующую команду:
DISM.exe /Online /Cleanup-image /Restorehealth

Эта команда использует Центр обновления Windows для проверки на наличие повреждений. Если вы используете установку Windows в качестве источника восстановления или используете Windows из общей папки, обязательно укажите это местоположение. В таком случае ваша команда,

DISM.exe /Online /Cleanup-image /Restorehealth» /Source [исходный URL]

Если DISM решит проблему, вы увидите файл журнала в папке C:\Windows/logs/CBS/CBS.log

Для Windows 7 и Vista загрузите последнюю версию средства проверки готовности системы к обновлению и запустите его. Этот инструмент автоматически устанавливает обновления и устраняет проблемы. Перезагрузите компьютер и посмотрите, устранит ли это ошибку.

Восстановление при загрузке

Восстановление при загрузке — это еще один способ восстановить все DLL-файлы до их исходного рабочего состояния. Однако это исправление может вызвать проблемы в других программах, особенно если какая-либо программа обновила файлы .dll.

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

В настоящее время я застрял после установки среды отладки, как было предложено в других темах, либо в мою папку WinDLL, либо в мою папку WT/bin. Выбор «загрузить с сервера символов» устранил ошибку, из-за которой библиотеки DLL win32 не могли быть найдены, поэтому в настоящее время я застрял в журнале ошибок:

Как узнать, какая dll отсутствует, используя только этот журнал ошибок?

Ответы (13)

В Visual Studio при использовании нашего установщика Wt обычно помогает добавление Path=C:\Program Files\Wt 4.1.0 msvs2019 x64\bin (или чего-то подобного) в Debugging -> Environment.

Если вы пытаетесь запустить его из Visual Studio, не могли бы вы сделать снимок экрана со страницей свойств "Отладка"?

Согласно зависимостям (при условии, что ? означает отсутствие), мне не хватает wtd.dell wthttpd.dll wtdbod.dll wtdbomysqld.dll, и я не уверен, зачем они нужны, поскольку мы уже статически связываем их. Но, как я уже сказал, мой "Отладка-> Среда" говорит

который содержит именно нужные библиотеки DLL. И, кроме того, мне не хватает VCRUNTIME140D.dll и ucrtbased.dll, которые должны быть DLL, связанными с Windows

Можете ли вы сделать скриншот того, что показывает зависимость? Если в нем отсутствуют библиотеки DLL Wt, то, очевидно, Wt не слинкован статически?

Вы можете добавить папку поиска в Зависимости с помощью Параметры -> Настроить папку поиска , а затем добавить C:\WTINSTALLATION\bin , чтобы получить тот же результат, что и в Visual Studio.

VCRUNTIME140D.dll — это среда выполнения отладки, которая обязательно должна быть в вашей системе, если вы установили Visual Studio и во время установки отметили "Разработка для настольных ПК с помощью C".

После проверки и повторной проверки опции загрузки с сервера символов вывод в VS изменился на

который теперь правильно загружает dll WT, но по-прежнему отсутствует 'WebguiVW.exe' (Win32): выгружено 'C:\Windows\System32\vcruntime140d.dll' 'WebguiVW.exe' (Win32): выгружено 'C: \Windows\System32\ucrtbased.dll'

Я проверил system32, и vcruntime140d.dll определенно там. В исполняемом файле отладки все еще есть вопросительные знаки для wt dll, но внутри VS, по-видимому, он может их загрузить. Это так сбивает с толку.

Роэл Стандарт написал:

Можете ли вы сделать скриншот того, что показывает зависимость? Если в нем отсутствуют библиотеки DLL Wt, то, очевидно, Wt не связан статически?

Вы можете добавить папку поиска в зависимости с помощью Options -> Customize search folder , а затем добавить C:\WTINSTALLATION\bin , чтобы получить тот же результат, что и в Visual Studio.

VCRUNTIME140D.dll — это среда выполнения отладки, которая обязательно должна быть в вашей системе, если вы установили Visual Studio и во время установки отметили «Разработка для настольных ПК с помощью C».

Зависимости 1.8 из GITHub имеют только свойства в параметрах, без настройки папки поиска

Его только VCRUNTIME140D.DLL и ucrtbased.dll отсутствуют после добавления пути, хотя обе они находятся в System32, как и все другие библиотеки System32, которые он находит. Любая идея, что может вызвать это? Я не могу добавить какие-либо файлы на диск C, иначе я бы попробовал загрузить их заново и добавить туда.

Библиотеки времени выполнения vc, оканчивающиеся на "d", являются отладочными библиотеками DLL и несколько особенными, поскольку их нет в распространяемых пакетах msvs. Обычно они устанавливаются в вашей системе при установке Visual Studio, и у меня никогда не было проблем с тем, что эти dll не были найдены. Вы скомпилировали .exe на том же компьютере, на котором пытаетесь его запустить? Может быть, что-то в манифесте делает недействительным использование dll, которые есть на вашем компьютере? Я предполагаю, что вы уже пытались перекомпилировать свою программу с нуля? Находятся ли те же dll в других местах дерева зависимостей?

Да, во время сборки в VS2017. Ручная проверка исполняемого файла на наличие зависимостей оставляет меня с "?" только на этих 2. Они существуют внутри Windows/System32, и они найдены и загружены, как показано в журнале VS выше, но по какой-то странной причине они снова выгружаются. У меня нет возможности начать с чистой системы, так как мне нужно скомпилировать и запустить ее только на виртуальных машинах Windows. Может ли это быть как-то связано с тем, что вы установили бинарные файлы WT через ваш исполняемый файл и каким-то образом указали там неправильные пути? Я использовал vs2017 x64, так как это система, которую я использую для компиляции своего кода. По словам Google, vcruntime140 – это версия vs2015.

Нет, библиотеки DLL никогда не будут найдены, если я посмотрю их в зависимостях. Я встретился с местным ИТ-отделом нашего института, но, поскольку они не используют Windows или Visual Studio, они тоже не особо помогли.

Все, что я пытаюсь сделать, это просто заставить мой код, который отлично работает в наших Linux-системах, работать в Windows. Если у вас есть лучшее или более простое предложение, чем VS, я не возражаю против переключения IDE.

Вы можете обойти эту проблему, создав выпускные сборки вместо отладочных. это работает? Если вы намерены распространять результат, вам в любом случае понадобится сборка релиза.

Какую именно версию VS вы используете?

Не удалось запустить его и с релизом. Версия: 15.8.4.

Мы вместе с ИТ-отделом наших институтов пытались запустить его, но в конце концов сдались и, вероятно, будем запускать его на виртуальной машине, где нет проблем с DLL.

Читайте также: