Основные системные DLL файлы.
Что делать, если какого-то из них не хватает?
Думаю,
для большинства пользователей не является секретом то, что внутри операционная
система Windows состоит из большого количества разнообразных компонентов, многие
из которых реализованы в виде DLL-библиотек. Некоторые из них более важны,
некоторые - менее. О том, для чего нужны некоторые системные DLL-библиотеки, я
сейчас и расскажу.
Говорить будем о 32-битных системах, так как они в
данное время более распространённые. Мы сейчас не будем говорить о том, как
устроены эти DLL файлы, о том, чем они отличаются, мы просто поговорим о том,
какие функции в системе они выполняют, за что они отвечают.
Системные
библиотеки лежат в системной папке, поэтому они и называются системные. В более
ранних версиях Windows (9x и ME) они помещались в поддиректории "System" папки с
системой, в операционных системах линейки Windows NT они находятся в папке
"System32". В эти папки лучше без особой надобности не лезть. И если вы
встретить эти файлы где-нить будь в другом месте, то лучше их удалить, т.к. в
них могут содержаться вирусы.
Для чего же пользователю знать назначение
той или иной библиотеки? В самом простом случае - если система выдаст Blue
Screen of Death (BSOD), чтобы можно было хотя бы примерно представить, с чем
именно он связан. И, так, приступим.
Эта DLL -
сердце операционной системы. Расшифровывается её название как Hardware
Abstraction Layer - уровень аппаратной абстракции. Именно благодаря наличию
такого уровня Windows имеет возможность работы на разных аппаратных платформах.
В зависимости от того, какая именно аппаратная платформа наличествует на вашем
компьютере, вместо hal.dll может присутствовать один из следующих файлов:
Halapic.dll, Halmps.dll, Halacpi.dll, Halaacpi.dll,
Halmacpi.dll.
Kernel32.dll
Это библиотека из состава
ядра операционной системы. О том, что без этой библиотеки работа ядра ОС
невозможна, говорит уже само её название. Kernel32.dll отвечает за обработку
памяти, операции ввода-вывода и прерывания - то есть, за все основные действия
операционной системы с приложениями.
Ntdll.dll
Эта
библиотека - своеобразный мост между теми библиотеками, которые работают в ядре
операционной системы, и библиотеками, работающими в пользовательском режиме. Эти
два режима имеют ряд существенных отличий, и без существования этой DLL"ки было
бы невозможно применять многие старые приложения в новых версиях Windows - во
многом совместимость между разными версиями ОС держится именно на
ней.
Gdi32.dll
Немаловажная часть операционной системы
Windows - это графический интерфейс пользователя, который в самых глубоких своих
основах зиждется именно на этой DLL-библиотеке. Gdi32.dll предоставляет
приложениям и другим библиотекам графические примитивы, которые используются для
отрисовки окон и разных оконных элементов управления.
User32.dll,
Comctl32.dll, Comdlg32.dll
Эти библиотеки реализуют внутри себя
разные готовые элементы управления, которые потом используют для создания
графического интерфейса пользовательские приложения. Собственно, в основном,
именно эта тройка библиотек отвечает за тот внешний вид операционной системы, к
которому вы привыкли.
Advapi32.dll
Думаю, что понятие
системного реестра знакомо каждому пользователю. Вполне естественен тот факт,
что ОС Windows предоставляет пользовательским приложениям специальные функции
доступа к реестру, которые как раз и вынесены в
Advapi32.dll.
Mpr.dll
Работа с сетью - тоже прерогатива
операционной системы. Собственно, именно для работы с сетью и нужна mpr.dll.
Взаимодействие с другими компьютерами в локальной сети, поддержка работы с
сетевыми устройствами, поддержка соединения - вот далеко не полный список того,
что ложится на плечи этой библиотеки.
Msvcrt.dll
Эту
библиотеку можно тоже отнести к разряду системных, потому что без неё не
запустятся многие стандартные приложения из состава Windows. Она несёт в себе
ряд вспомогательных функций для работы с памятью, устройствами ввода и вывода,
математическими функциями. Эта DLL должна быть хорошо знакома программистам,
работавшим с Visual C++.
Это основные DLL"ки!!! Но конечно не все!
Не хватает DLL"ки... Что делать?
Наверняка
каждый читатель пользователь хоть раз в жизни сталкивался с невозможностью
запустить ту или иную программу по причине отсутствия необходимых динамических
библиотек, в просторечье называемых DLL"ками. В большинстве случаев проблема
решаема, и довольно просто.
Итак, предположим, вы запустили программу, а
она вам в ответ выдала сообщение а-ля "Приложению не удалось запуститься,
поскольку SuperPuperCool.dll не был найден. Повторная установка приложения может
исправить эту проблему". Казалось бы, чего тут думать - система сама же и
предлагает не самый кровавый вариант решения этой проблемы, нужно вот только
вспомнить, где же лежал дистрибутив этой программы. Нет, система-то, конечно,
тысячу раз права, если, конечно, не хватает какой-нибудь из системных
библиотек.
Однако способ может не сработать - это раз. Многие
разработчики элементарно забывают добавить в дистрибутив своей программы
пару-тройку библиотек, которые написали не они, но которые, тем не менее,
используются в их программном продукте. И тогда можно хоть сто раз
переустанавливать программу - необходимых библиотек от этого больше ну никак не
станет. Второй минус данного способа заключается в том, что нужен дистрибутив
программы. Хорошо, если он есть у вас под рукой, а если нет? Большие
дистрибутивы и скачивать накладно, и процесс установки более-менее крупных
программ тоже вещь небыстрая.
В общем-то, из всего этого вытекает, что
имеет смысл ещё до переустановки попробовать какой-нибудь альтернативный способ
решения проблемы, а вот уж если он не "прокатит", тогда и отправляться на поиски
дистрибутива нужной программы.
Способ, который я сейчас вам хочу
предложить, до смешного банален. Заключается он в том, чтобы поискать нужную вам
DLL-библиотеку в интернете. Да, конечно, для этого нужен доступ к Всемирной
сети, однако и для скачивания дистрибутивов программ он тоже, скажем так, не
помешает. Однако, как я уже говорил, скачать отдельный DLL-файл может оказаться
гораздо проще, чем целый дистрибутив.
Искать DLL-файлы можно, конечно, с
помощью Google, "Яндекса", "Рамблера" и прочих обычных поисковиков. Но гораздо
проще воспользоваться специализированными архивами DLL-файлов, которых на
бескрайних просторах Интернета появилось немало. Лично мне больше всего нравятся
три следующих: dll-files.com, www.dll.ru и www.dlldll.ru.
Хотя все
сайты предлагают алфавитные списки разных DLL-файлов, гораздо проще будет ввести
имя нужной библиотеки в строку поиска, которая есть на главной странице. Но при
выборе нужной библиотеки среди результатов поиска нужно быть внимательным:
названия некоторых библиотек могут совпадать для разных программ, и нужно
следить за тем, чтобы скачивалась DLL"ка именно для той программы, которая у вас
не хочет запускаться. Что касается версий библиотек, то совсем не обязательно
она должна совпадать с версией самой программы. Так что при прочих равных лучше
скачивать самую новую - довольно высока вероятность того, что программа,
нуждающаяся в более старой версии, будет работать и с этой. Только если версия
библиотеки указана в самом её имени (например, msvbvm50.dll), не надо скачивать
библиотеку с другим именем и более новой версией (например,
msvbvm60.dll).
Если библиотека не нашлась на одном архиве, попробуйте
поискать на другом, третьем, подключите Google - в общем, подойдите к её поиску
творчески. Ну а если найти DLL"ку не удастся или программа не захочет с ней
работать, - что ж, значит, придётся переустановить эту программу.
Теперь
станет проще?)
Удачи!)
Иногда ошибки Window.dll и другие системные ошибки DLL могут быть связаны с проблемами в реестре Windows. Несколько программ может использовать файл Window.dll, но когда эти программы удалены или изменены, иногда остаются "осиротевшие" (ошибочные) записи реестра DLL.
В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows. Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка Window.dll. Кроме того, заражение вредоносным ПО могло повредить записи реестра, связанные с The World of Harry Potter (The Sorcerers Stone). Таким образом, эти поврежденные записи реестра DLL необходимо исправить, чтобы устранить проблему в корне.
Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей Window.dll не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!
В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как WinThruster (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с Window.dll. Используя очистку реестра , вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку Window.dll) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра может резко повысить скорость и производительность системы.
Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.
Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с Window.dll (например, The World of Harry Potter (The Sorcerers Stone)):
- Нажмите на кнопку Начать .
- Введите "command " в строке поиска... ПОКА НЕ НАЖИМАЙТЕ ENTER !
- Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER .
- Будет выведено диалоговое окно для доступа.
- Нажмите Да .
- Черный ящик открывается мигающим курсором.
- Введите "regedit " и нажмите ENTER .
- В Редакторе реестра выберите ключ, связанный с Window.dll (например, The World of Harry Potter (The Sorcerers Stone)), для которого требуется создать резервную копию.
- В меню Файл выберите Экспорт .
- В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа The World of Harry Potter (The Sorcerers Stone).
- В поле Имя файла введите название файла резервной копии, например "The World of Harry Potter (The Sorcerers Stone) резервная копия".
- Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь .
- Нажмите Сохранить .
- Файл будет сохранен с расширением.reg .
- Теперь у вас есть резервная копия записи реестра, связанной с Window.dll.
Следующие шаги при ручном редактировании реестра не будут описаны в данной статье, так как с большой вероятностью могут привести к повреждению вашей системы. Если вы хотите получить больше информации о редактировании реестра вручную, пожалуйста, ознакомьтесь со ссылками ниже.
Как исправить ошибки DLL нас спрашивают пользователи 365 дней в году. Эта проблема сегодня является все еще актуальной, не смотря на то, что на дворе уже 21й век и Windows 10 стремительно врывается в нашу жизнь. Благодаря тому, что модульная архитектура операционных систем семейства Windows сохранилась и операционная система до сих пор предоставляет часть своих системных DLL библиотек во всеобщее пользование, ошибки DLL никуда не денутся и будут преследовать нас еще очень долгое время.
Интересным является тот факт, что производители компьютерных игр очень часто комплектуют свои дистрибутивы огромным числом DLL файлов, увеличивая тем самым размеры дистрибутива игры до космических величин. Делают они это, конечно, не с проста. Все дело в том, что кодируя игру многие производители стараются использовать функции и куски кода, которые уже были когда-то написаны, были уже многократно обкатаны и использовались уже всеми сотни раз. Это очень правильный подход, так как он позволяет экономить время, затраченное на написание кода игры, позволяет проводить обновление игр и программных продуктов не целиком, а лишь только тех его частей, которые действительно нуждаются в обновлении, экономить деньги, так как писать новый код гораздо дороже, чем использовать стандартные библиотеки функций. Ну и т.д. Преимуществ такого подхода много, я просто хотел дать понять, что такой метод программирования прижился благодаря очень большому количеству преимуществ.
Однако есть и недостатки, куда же без них. Говоря о том, как исправить ошибки DLL уместно будет напомнить, что самый большой и самый досадный недостаток такого подхода кроется в том, что, как я уже говорил, программистам игры приходится упаковывать в свой дистрибутив КАЖДУЮ DLL библиотеку, которую они когда-либо использовали в исходном коде. Даже если обращение к DLL-ке было всего один раз ради одной единственной функции, которая занимает полторы строчки кода, ее тоже ОБЯЗАТЕЛЬНО придется приложить к дистрибутиву и раздавать каждому пользователю. Вот здесь то и кроется жуткая заморочка и для кодеров, и для пользователей.
Прежде чем понять как исправить ошибки DLL давайте разберемся как они появляются. Причина их появления вытекает из всего вышесказанного. Чем больше разных игр вы устанавливаете на свой компьютер, тем сильнее и чаще библиотеки DLL перемешиваются друг с другом и накладываются друг на друга, происходит подмена версий библиотек и иногда, даже подмена разрядностей.
Вот представьте такой случай… У вас на компьютере стояла игра «Х», все работало прекрасно, вас все устраивало. Но пришел судный день и вы решили скачать игру «Y» и установить ее, чтобы поиграть. Скачали, установили, поиграли и пошли спать. На следующий день вы решили вновь запустить игру «Х», но вместо того, чтобы начать вас радовать на экран вываливается сообщение «Запуск DLL невозможен, так как на компьютере отсутствует MSVCP100.DLL. Попробуйте переустановить программу.»
После долгих танцев с бубном и дикой головной боли становится понятно, что игра «Y» перезаписала библиотеку ее 32х битным вариантом, в то время, как игра «Х» шла с 64х битной версией и ей нужна именно она. И таких случаев происходит просто полно, что конечно доставляет массу хлопот молодым геймерам, которые ломают голову над тем, как исправить ошибки DLL. Однако, пора перейти к основному вопросу этой статьи.
Вот здесь мы подошли к очень важному моменту этой эпопеи с ошибками DLL, потому что многие незадачливые пользователи сразу лезут в интернет, что-то скачивают оттуда, пытаются что-то переустановить и навеки прощаются со своей замечательной операционной системой и сне менее замечательной игрой. СТОП! Здесь нужно выдохнуть и для начала заняться резервированием, дабы потом не кусать локти. Обязательно создаем точку восстановления системы, а если есть важные данные на винте, значит сливаем их на съемный носитель. Далее первым делом проверяем комп антивирусом — это вообще первостепенная задача! Вирусы очень часто сидят именно в DLL файлах с названием, очень напоминающим название официальной библиотеки.

Исправить ошибки DLL не повредив систему вы сможете только в том случае, если поймете к какому именно продукту принадлежит библиотека dll, которая вызвала ошибку. Например, очень распространенная ошибка « » возникает тогда, когда мы пытаемся установить игру на компьютер. Многие думают, что ее генерирует игра, а на самом деле ее выдает распаковщик Inno Setap, который сообщает нам о том, что архив с игрой поврежден.
Вопрос как исправить ошибку тесно связан с проблемой как исправить ошибки DLL и возникает у геймеров довольно часто. Как ни странно, но эта ошибка лежит своими корнями в системе безопасности MFC. Дать однозначный ответ на такой вопрос довольно сложно, но мы попробуем. Для начала, для того, чтобы исправить ошибку msvcr100.dll, давайте обновим систему безопасности MFC для Microsoft Visual C++ 2010.

Скачать можно здесь — система безопасности MFC для Microsoft Visual C++ 2010 . После обновления и перезагрузки системы ошибка msvcr100.dll как правило пропадает. Кстати, если кто сомневается в способе решения ошибки, можно посмотреть вот это видео, здесь все подробно рассказано.
Ну вот, надеюсь мы с вами подробно рассмотрели тему как исправить ошибки DLL и такие вопросы возникать больше не будут. Однако, если вам все-таки не все понятно, можно и наши специалисты расскажут вам как исправить ошибки DLL.
Здравствуйте комрады! О чем бы нам сейчас поговорить? А давайте поговорим о разных недостающих при запуске программ файлах, точнее – о библиотеках. Итак, говорим в данном посте о том, что делать, если при запуске той или иной программы .
Довольно часто бывают ситуации, когда после тех или иных действий, а иногда и вовсе без каких-либо видимых причин, в операционной системе Windows начинает выскакивать соответствующее сообщение, что, дескать, отсутствует такой-то.dll файл. Рассмотрим эти случаи более подробно.
Если сообщение выскакивает после установки какой-либо игры, особенно если вы недавно переустанавливали себе операционную систему, то скорее всего, у вас на компьютере просто не установлена программа DirectX . Скачайте актуальную версию и установите ее на свой компьютер – проблема скорее всего исчезнет.
Если данная ошибка стала выскакивать после установки софта и в процессе его запуска, и в то же самое время этот же софт на другом компьютере работает так, как нужно, то, наверное, он просто нормально в операционной системе не установился. Снесите программу и попробуйте поставить ее заново . Если это не помогло, попробуйте переписать недостающие файлы с того компьютера, где программа функционирует полноценно.
Если ошибка выскакивает не после установки игры или какой-либо программы, а непонятно почему, но перед ее возникновением вы удаляли какой-то софт с компьютера, то решением данной проблемы может стать встроенное средство отката операционной системы к более раннему состоянию . Очень удобное, быстрое, а главное – действенное решение. Откат системы можно запустить, загрузив программу Восстановление системы, пройдя по адресу: Пуск – Все программы – Стандартные – Служебные – Восстановление системы.
Можно попробовать еще просканировать и восстановить системные файлы. Для этого вводим команду cmd в строке Пуск – Выполнить. В открывшемся окне вводим команду sfc /scannow. Операционная система сама себя просканирует и восстановит поврежденные или затертые системные файлы.
Если данные методы не помогают, попробуйте скачать недостающий файл из Интернета . Там довольно много ресурсов, распространяющих самые разные библиотеки и файлы. Так и введите в строке поискового запроса «Скачать hal.dll». Или зайдите на сайт www.dll-files.com.
Если операционная система ругается на отсутствие библиотеки, и при этом отказывается нормально загружаться, попробуйте загрузиться в Безопасном режиме. Данный режим вызывается следующим образом: когда компьютер только пройдет POST-тест, нажмите клавишу F8, затем в появившемся меню выберите с помощью стрелок пункт Безопасный режим (если у вас английская версия, то он будет называться не Безопасный режим, а Safe Mode), и нажмите клавишу Enter. После загрузки компьютера в Безопасном режиме попробуйте откатить систему. Если же компьютер не хочет грузиться даже в Безопасном режиме, тогда решение проблемы одно – переустановка операционной системы. Ну или восстановление из бэкапа 🙂
Если же возникла ситуация, когда ошибка стала выскакивать не после удаления, а наоборот, после установки программы, то в первую очередь проверьте, нормально ли она работает на каком-нибудь другом компьютере. Если нет, то попробуйте ее обновить с сайта разработчика – должно помочь .
Еще одним вариантом появления рассматриваемой нами ошибки может быть вирус или иное зловредное программное обеспечение , влезшее на ваш компьютер типа программы — шпиона . Решение здесь – тотальная чистка хорошим антивирусом с актуальными базами вирусных сигнатур.
Если ни один из рецептов устранения проблемы вам не помог, не помогает даже переустановка операционной системы, то тогда, скорее всего, у вас возникла ошибка в каком-то железе – оно попросту глючит. Потестируйте хорошенько оперативку, видеокарту, процессор, проверьте охлаждение.
На этом я заканчиваю данный пост, посвященный ситуации, когда отсутствует файл.dll .