Что такое DLL-файлы и почему никто не пропадает с моего ПК?

Оглавление:

Что такое DLL-файлы и почему никто не пропадает с моего ПК?
Что такое DLL-файлы и почему никто не пропадает с моего ПК?

Видео: Что такое DLL-файлы и почему никто не пропадает с моего ПК?

Видео: Что такое DLL-файлы и почему никто не пропадает с моего ПК?
Видео: Как проверить, у каких устройств есть доступ к вашему аккаунту Google - YouTube 2024, Ноябрь
Anonim
Когда вы получаете сообщение о том, что Windows не может найти конкретный DLL-файл, может быть ужасно заманчиво загрузить файл с одного из многих DLL-сайтов. Вот почему вы не должны.
Когда вы получаете сообщение о том, что Windows не может найти конкретный DLL-файл, может быть ужасно заманчиво загрузить файл с одного из многих DLL-сайтов. Вот почему вы не должны.

Что такое DLL?

Прежде чем мы начнем с того, почему вы не должны загружать файлы библиотеки динамической связи (DLL) из Интернета, давайте сначала посмотрим, какие DLL-файлы есть. DLL-файл представляет собой библиотеку, содержащую набор кодов и данных для выполнения определенного действия в Windows. Затем приложения могут обращаться к этим DLL-файлам, когда им нужна эта работа. DLL-файлы во многом похожи на исполняемые файлы (EXE), за исключением того, что файлы DLL не могут быть непосредственно выполнены в Windows. Другими словами, вы не можете дважды щелкнуть DLL-файл, чтобы запустить его так же, как и EXE-файл. Вместо этого файлы DLL предназначены для вызова другими приложениями. Фактически, они предназначены для одновременного вызова нескольких приложений. Ссылка «link» названия DLL также предлагает другой важный аспект. Несколько DLL могут быть связаны друг с другом, так что, когда вызывается одна DLL, одновременно вызывается ряд других DLL.

Windows сама широко использует библиотеки DLL, поскольку
Windows сама широко использует библиотеки DLL, поскольку

C:WindowsSystem32

папка может сказать вам. В качестве примера того, что мы говорим, давайте рассмотрим системный файл Windows «comdlg32.dll». Этот файл, иначе известный как Библиотека общих диалоговых окон, содержит код и данные для построения многих общих диалоговых окон, которые вы видите в Окна-диалоги для таких вещей, как открытие файлов, печать документов и т. Д. Инструкции в этой DLL обрабатывают все: от приема и интерпретации сообщений, предназначенных для диалогового окна, для определения того, как диалоговое окно выглядит на вашем экране. Очевидно, что несколько приложений могут одновременно обращаться к этой DLL, иначе вы не сможете открыть диалоговое окно (например, ниже) в нескольких приложениях за раз.

Загруженные библиотеки могут быть устаревшими

Итак, с небольшим пониманием DLL под нашими ремнями, почему бы не загрузить их из Интернета, когда вас нет в вашей системе?

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

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

Загруженные DLL могут быть заражены

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

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

Они, вероятно, не решат вашу проблему в любом случае

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

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

Как я могу исправить мою DLL-ошибку?

Единственный способ убедиться, что вы получаете стабильную, обновленную и чистую DLL, - это получить ее через источник, из которого она возникла. Как правило, этот источник будет:

  • Установочный носитель Windows, Маловероятно, что вы сможете просто скопировать DLL-файл со своего установочного носителя, но у вас есть быстрый способ попробовать, прежде чем делать что-то столь же резкое, как повторное включение Windows. Вы можете использовать средство защиты ресурсов Windows (часто называемое средством проверки системных файлов или SFC), которое будет проверять и исправлять поврежденные или отсутствующие системные файлы в Windows. У вас должен быть удобный носитель для установки при запуске инструмента, на всякий случай ему нужно будет скопировать файл. (Если у вас нет установочного диска, вы можете скачать его здесь.)
  • Пакеты Microsoft.NET Framework, Несколько версий.NET автоматически устанавливаются вместе с Windows, и многие приложения также устанавливают файлы из этих пакетов. Вы можете прочитать нашу статью о платформе.NET, в которой также есть рекомендации по поиску и устранению связанных проблем.
  • Различные распространяемые пакеты Microsoft Visual C ++, В зависимости от приложений, которые вы используете, на вашем компьютере может быть установлено несколько версий распространяемого на C ++ Redistributable. Иногда бывает трудно сузить, какой из них является виновником, но хорошим местом для начала является наша статья о перераспределителе C ++, в которой также есть несколько шагов по устранению неполадок и ссылки, в которых вы можете загружать самые последние версии прямо из Microsoft.
  • Приложение, в которое была добавлена DLL, Если DLL была установлена вместе с приложением, а не была частью отдельного пакета, лучше всего переустановить приложение. Некоторые приложения позволяют выполнять ремонт вместо полной переустановки. Любой вариант должен работать, поскольку ремонт обычно ищет недостающие файлы в папках установки.

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

Рекомендуемые: