Запуск библиотеки dll как приложения. Работа с библиотеками динамической компоновки (DLL). Выполнение DLL по шагам

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

Вне зависимости от того, какой программой и для чего используется dll-файл, установка и регистрация библиотеки всегда будет происходить по одному алгоритму. Все версии ОС Windows руководствуются одними правилами при подключении и регистрации динамических библиотек.

Пошаговая инструкция:

Как и куда копировать DLL файл

Ошибки с динамическими библиотеками DLL возникают по разным причинам: файл поврежден, несовместим с Windows или конкретной программой, заражен вирусами или удален. Решение всегда одно: загрузить корректную и полную версию библиотеки, после чего зарегистрировать файл в системе через командную строку. Обычно, весь процесс занимает не более 2-5 минут.

Сюда можно поместить (разархивировать и копировать) любые библиотеки dll, и установленные файлы будут работать:

  • Для Windows 95/98/Me - файл копируется в папку C:\Windows\System
  • Для Windows NT/2000 - файл копируется в папку C:\WINNT\System32
  • Для Windows XP, Vista, 7, 8 - копировать в папку C:\Windows\System32
  • Для 64-разрядных Windows - копировать dll файл в папку C:\Windows\SysWOW64

Где можно загрузить нужную библиотеку:

  • Если это игра или программа: с другой сборкой игры, с другого ПК, на котором приложение работает, с диска (переустановить программу).
  • Если это системная библиотека, проверьте актуальность драйверов, DirectX или иного компонента, если система пишет, в каком файле или программе допущена ошибка. Копировать dll можно с другого компьютера с аналогичной версией разрядностью и версией Windows (7, 8, 10). Ошибка может вызываться не самой библиотекой, но и программой, её использующей.
  • Всегда можно загрузить нужную версию файла с архивов dll вроде dll.ru или ru.dll-files.com . Внимательно проверяйте, для какой версии ОС предназначена библиотека. Также следует внимательно смотреть, что скачивается: вместо нужной библиотеки многие сайты пытаются подсунуть свой платный софт для исправления ошибок с DLL.
  • Попробуйте найти статью с решением проблем про нужный файл в разделе , либо воспользуйтесь поиском по сайту.

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

Все изменения вступят в силу после регистрации библиотеки в системе и перезагрузки компьютера. До этого пытаться запустить что-либо бесполезно — система не подключится к файлу.

Для проверки разрядности системы нужно нажать правой кнопкой мыши на иконке «Мой компьютер» и выбрать пункт «Свойства» . В открывшейся папке в разделе Система будет написано: «Тип системы: 64-разрядная операционная система, процессор x64».

Регистрация библиотеки в Windows

Проще всего зарегистрировать библиотеку DLL в Windows через командную строку или окно «Выполнить». Для открытия командной строки нужно: нажать Пуск -> Выполнить или комбинацию клавиш Win+R , ввести cmd.exe и нажать Enter . Можно ввести команду прямо в это поле, не открывая командной строки.

Для регистрации библиотеки нужно написать команду regsvr32 имяфайла.dll и нажать Enter . К примеру, regsvr32.exe msvcp110.dll.

Для того, чтобы изменения вступили в силу и библиотека начала работать, необходимо перезагрузить компьютер . Если Windows не хочет находить требуемый файл, можно указать полный путь: regsvr32.exe полный_путь_к_файлу.dll , например regsvr32.exe C:/Windows/System32/msvcp110.dll.

Часто задаваемые вопросы

  1. Откройте zip-файл, скачанный с сайт.
  2. Извлеките DLL-файл в любое место на компьютере.
    • Далее мы советуем вам поместить файл в папку той программы, которая запрашивает данный файл. Убедитесь, что вы используете 32-разрядный формат DLL-файла для 32-разрядной программы, а 64-разрядный формат DLL-файла для 64-разрядной программы, иначе может возникнуть ошибка 0xc000007b.
  3. Если вышеописанные действия не решат вашу проблему, поместите файл в системную папку. По умолчанию эта папка находится здесь:
    • C:\Windows\System (Windows 95/98/Me),
      C:\WINNT\System32 (Windows NT/2000), or
      C:\Windows\System32 (Windows XP, Vista, 7, 8, 8.1, 10).
  4. В 64-разрядной версии Windows папка для 32-разрядных DLL-файлов по умолчанию расположена здесь:

C:\Windows\SysWOW64\ , а для 64-разрядных DLL-файлов
C:\Windows\System32\ .

Обязательно перезапишите все существующие файлы (но сохраните резервную копию оригинального файла).

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

Если это не устранило проблему, попробуйте выполнить следующие действия, чтобы занести файл в реестр:

Для 32-разрядных DLL-файлов в 32-разрядных версиях Windows и для 64-разрядных DLL-файлов в 64-разрядных Windows:

  1. Откройте командную строку с повышенными правами.
    • Для этого нажмите Пуск, Все программы, выберите Стандартные, кликните правой кнопкой мышки по Командной Строке, далее нажмите «Запуск от имени администратора».
    • Если вас просят ввести пароль администратора или подтвердить, то введите пароль или нажмите «Разрешить».
  2. Далее введите regsvr32 "filename".dll и нажмите Enter.

Занесение в реестр 32-разрядных DLL-файлов в 64-разрядной версии Windows:

  1. Откройте командную строку с повышенными правами, выполнив вышеописанные действия.
    • cd c:\windows\syswow64\
  2. Далее введите следующее и нажмите Enter:
    • regsvr32 c:\windows\syswow64\"filename".dll

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

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

Dynamic-link library

DLL (англ. Dynamic-link library) - динамическая библиотека

DLL (англ. Dynamic-link library) — понятие операционной системы Microsoft Windows, динамическая библиотека, позволяющая многократное применение различными программными приложениями, понятие операционной системы Microsoft Windows. K DLL относятся также элементы управления ActiveX и драйверы.

Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов EXE, сочетая коды, таблицы и ресурсы.

Цели введения DLL

Первоначально предполагалось, что введение DLL позволит эффективно организовать память и дисковое пространство, используя только одну инстанцию библиотечных модулей для многих приложений. Это было особенно важно для ранних версий Microsoft Windows с жёсткими ограничениями по памяти.

Далее, предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений. Кроме того библиотеки DLL могли использоваться разнотипными приложениями — например, Microsoft Office, Microsoft Visual Studio и т.п.

В дальнейшем идея модульности выросла в концепцию ActiveX-контролей.

Фактически полных преимуществ от внедрения DLL получить не удалось по причине явления, называемого DLL hell (DLL-евский кошмар). DLL hell возникает, когда несколько приложений требуют одновременно различных версий DLL-библиотек по причине их неполной совместимости, что приводит к серьёзным конфликтам. Когда система выросла до определённых размеров, количество DLL стало превышать многие тысячи, не все из них обладали полной надёжностью и совместимостью, и конфликты типа DLL hell стали возникать очень часто, резко понижая общую надёжность системы. Поздние версии Microsoft Windows стали разрешать параллельное использование разных версий DLL, что свело на нет преимущества изначального принципа модульности.

После установки различных программ или игр можно столкнуться с ситуацией, когда при включении возникает ошибка «Запуск программы произвести невозможно, так как требуемой DLL нет в системе». Несмотря на то, что ОС семейства Windows обычно регистрируют библиотеки в фоновом режиме, после того, как вы скачаете и поместите ваш DLL файл в соответствующее место, ошибка все равно возникает, и система просто его «не видит». Чтобы это исправить, нужно зарегистрировать библиотеку. Как это можно сделать, будет рассказано далее в этой статье.

Имеется несколько методов, позволяющих устранить данную проблему. Рассмотрим каждый из них подробнее.

Способ 1: OCX/DLL Manager

OCX/DLL Manager – это маленькая программа которая может помочь зарегистрировать библиотеку или файл OCX.

Для этого вам нужно будет:

  1. Нажать на пункт меню «Register OCX/DLL» .
  2. Выбрать тип файла, который будете регистрировать.
  3. При помощи кнопки «Browse» указать местоположение DLL.
  4. Нажать на кнопку «Register» и программа сама зарегистрирует файл.

OCX/DLL Manager также умеет отменять регистрацию библиотеки, для этого понадобится выбрать в меню пункт «Unregister OCX/DLL» и в последствии проделать все те же операции, как и в первом случае. Функция отмены может вам понадобиться для сравнения результатов при активированном файле и при отключенном, а также в процессе удаления некоторых компьютерных вирусов.

В процессе регистрации, система может выдать вам ошибку, говорящую о том, что требуются права администратора. В таком случае, нужно запустить программу нажав на неё правой кнопкой мыши, и выбрать «Запуск от имени администратора» .

Способ 2: Меню «Выполнить»

Можно зарегистрировать DLL, используя команду «Выполнить» в стартовом меню операционной системы Windows. Для этого нужно будет произвести следующие действия:


Способ 3: Командная строка

Регистрация файла через командную строку не сильно отличается от второго варианта:

  1. Выберите команду «Выполнить» в меню «Пуск» .
  2. Впишите в открывшемся поле для ввода cmd .
  3. Нажмите «Enter» .

Перед вами появится окно, в котором нужно будет вводить те же команды, что и во втором варианте.

Надо отметить, что у окна командной строки имеется функция вставки скопированного текста (для удобства). Найти это меню можно, нажав правой кнопкой на пиктограмме в левом верхнем углу.

Способ 4: Открыть с помощью


Возможные ошибки

«Файл не совместим с установленной версией Windows» - это означает, что вы, скорее всего, пытаетесь зарегистрировать 64-разрядную DLL в 32-битной системе или наоборот. Воспользуйтесь соответствующей командой, описанной во втором способе.

«Точка входа не найдена» — не все библиотеки DLL можно зарегистрировать, некоторые из них просто не поддерживают команду DllRegisterServer. Также, возникновение ошибки может быть вызвано тем, что файл уже зарегистрирован системой. Существуют сайты, распространяющие файлы, которые в реальности не являются библиотеками. В таком случае, естественно, зарегистрировать ничего не выйдет.

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

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

Скачивание и установка DLL-файлов

При появлении какой-то ошибки обычно указывается название DLL-файла, которого не хватает. Вам нужно ввести название этого файла в поисковике и скачать. Например, нам нужно скачать файл d3dx9_27.dll. Мы вводим это название в Яндексе или Google и скачиваем с какого-нибудь сайта. Наиболее безопасный и популярный сайт, с которого я сам скачиваю DLL-файлы – DLL-FILES.com. Там есть поле, в которое можно ввести название файла.

Теперь нужно разобраться, куда кидать этот файл dll. В разных системах местоположение этих файлов разное, поэтому я начну с ранних ОС:

  • Windows 95/98 – помещаем файл в папку C:\Windows\System ;
  • Windows NT или 2000 – помещаем файл в папку C:\WINNT\System32 ;
  • Windows XP, 7, 8, 10 – помещаем файл в папку (для 32-х битных систем в C:\Windows\System32 , а для 64-х битных в C:\Windows\SysWOW64 ).

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

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

А что делать, если вы закинули все нужные файлы в папку, но программа или игра по-прежнему не запускается? Тогда можно попробовать зарегистрировать библиотеку в системе, сейчас покажу, как это сделать.

Как зарегистрировать DLL в Windows

Регистрация библиотек DLL в Windows происходит очень просто и быстро. Вы можете это сделать, если у вас стоит Windows 7, 8 или 10. Еще хочу отметить, что у вас должны быть права администратора. В данном пункте я покажу 3 способа регистрации динамических библиотек.

Первый способ

Он самый популярный и используемый пользователями.

Открываем окно «Выполнить», с помощью клавиш Win+R и вводим туда команду regsvr32.exe название_файла.

Другими словами, команда может выглядеть так (покажу на примере файла d3dx9_27.dll):

regsvr32.exe d3dx9_27.dll


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

regsvr32.exe C:/Windows/system32/d3dx9_27.dll


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

Второй способ

Тут мы воспользуемся командной строкой, но открыть ее нужно от имени администратора, надеюсь вы знаете, как это сделать.

regsvr32.exe путь_к_файлу_dll

То есть мы выполняем все тоже самое, только в командной строке.


Должно снова появиться сообщение, что библиотека зарегистрирована, либо ошибка.

Третий способ

Метод редко кем используемый, но тоже рабочий. Берете свой dll-файл и нажимаете на нем правой кнопкой мыши, в появившемся контекстном меню выбираете пункт «Открыть с помощью» и идете в папку Windows/System32 , и ищете там программу regsvr32.exe, через которую и будем открывать библиотеку.

Ошибка при регистрации DLL-файлов

Когда вы пытаетесь зарегистрировать DLL, причем, не важно каким способом, то вы можете получить ошибку, что модуль такого-то DLL несовместим с версией Windows, либо загружен. Что делать?

Такие ошибки могут возникать по следующим причинам:

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

Как решить проблему?

  • Опытные пользователи могут использовать regasm.exe;
  • Попробуйте в интернете скачать этот же файл, только из другого источника. Либо посмотрите, что это за файл и воспользуйтесь специальными установщиками DLL-файлов. Некоторые библиотеки поставляются с каким-либо программным обеспечением, например, DirectX.
  • При скачивании какого-то приложения антивирус мог удалить в процессе установки важные DLL-библиотеки, которые были в установщике, поэтому нужно скачать игру с другого источника, либо временно отключить антивирус, и переустановить приложение.

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

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

Запуск программы невозможен так как на компьютере отсутствует ****.dll. Попробуйте переустановить программу

Нам сразу хочется что-нибудь сломать (нервничаем, это нормально), часто люди бегут в магазин, где они купили диск, устраивают там скандал. Нервные клетки не восстанавливаются — сказал кто-то и подтвердил я. Давайте запомним, уясним для себя две вещи: все ошибки dll, не dll — это проблема вашего пк ; избавиться от ошибок windows мы можем самостоятельно, но не навсегда ; мы в состоянии исключить вероятность выскакивания всех ошибок винды, если будем поддерживать систему в актуальном состоянии.

Что такое dll, файл dll, для чего они нужны, где их найти?

Dll (dynamic link library) — дословно с англ. динамическая ссылка библиотеки, а своими словами это набор инструкций и библиотек для выполнения различных процессов на вашем компьютере. При запуске программ, игр подключаются необходимые библиотеки для их правильной, полноценной работы. Находятся они по адресу C:WindowsSystem32. Если библиотеки не хватает, ее нет вовсе, мы получаем любимую ошибку dll и . Благо операционная система нам сообщает какого именно файла или библиотеки не хватает, что помогает оперативно определить какие файлы dll отсутствуют и решить проблему.

Ошибка при запуске dll и как исправить dll ошибки?

Для того что бы исправить ошибку dll, нам важно знать какой библиотеки не хватает и какой компонент операционной системы отвечает за ее наличие. Для исправления ошибок предлагаю таблицу самых часто встречающихся ошибок DLL в форме: «вариант ошибки или недостающий файл >>> что нужно сделать, скачать, установить для ее исправления»

Пример dll ошибки (*-dll) Решение для исправления ошибки
Не найден файл: dxgi.*, d3dx9_25.*, d3d11.*, d3dx9.*, d3dx9_43.*, d3dx10_43.*, d3dx9_26.*, d3dx9_30.*, d3dx9_27.*, d3dx11_43.*, d3dcompiler_43.*, d3d10.*, xinput1_3.*, d3dx9_31.*, xinput1_2.*, d3dx9_31.*, d3dx9_34.*, d3dx9_42.*, x3daudio1_7.*, x3daudio1_6.*, xrsound.*, переустановка приложения поможет исправить эту проблему, подобные скачать, установить, обновить компоненты DirectX ()
Не найден файл xlive.* отсутствует компонент Game for Windows Live, нужно эту службу
не найден steam_api.* установить службу steam
запуск программы невозможен так отсутствуют файлы: msvcr90.*, msvcr110.*, msvcr100.*, msvcr80.*, msvcr120.*, msvcrt.*, msvcr71.*, msvcrt.*, msvcp120.*, msvcp110.* x64 для исправления этой ошибки скачать, установить Установить
Точка входа не найдена, uplay_r1_loader.*, Uplay.exe, uplay_ach_earnAchievement не найлен в библиотеке DLL, uplay.*, ubiorbitapi_r2_loader.* скачать, установить Ubisoft Game Launcher (если его нет), обновить Microsoft .NET Framework
Запуск программы невозможен так как на компьютере отсутствует physxcudart_20.*, physxloader.*, и другие physx…* скачать, установить

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

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