Найти тему
ГАЙД ПК

Почему Вы не должны скачивать файлы DLL из Интернета

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

Что такое DLL

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

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

Библиотеки DLL допускают модульность и повторное использование кода, что означает, что разработчикам не нужно тратить время на создание кода с нуля для выполнения обычных функций. И хотя разработчики создадут свои собственные DLL для установки с помощью своих приложений, подавляющее большинство DLL-приложений, называемых приложениями, фактически связаны с Windows или с дополнительными пакетами, такими как Microsoft .NET Framework или Microsoft C ++ Redistributables. Другим большим преимуществом модульного кода является то, что обновления легче применять к каждой DLL, а не ко всему приложению, особенно когда эти библиотеки DLL не пришли от разработчика приложения. Например, когда Microsoft обновляет определенные библиотеки DLL в своей платформе .NET Framework, все приложения, использующие эти 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.
  • Приложение, с которым была связана DLL: если DLL была установлена ​​вместе с приложением, а не была частью отдельного пакета, лучше всего переустановить приложение. Некоторые приложения позволяют выполнять восстановление вместо полной переустановки. Любой вариант должен работать, поскольку восстановление обычно ищет недостающие файлы в папках установки.

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

Windows
66,2 тыс интересуются