Появляется сообщение, что не найден файл *.dll (например, VCompLib.dll ). При этом программа, естественно, не запускается.
Сообщения об ошибках могут быть разные (это зависит в основном от того, на каком языке написана программа), например: «Component "MSCOMM32.OCX" not correctly registered: file is missing or invalid» , или «Приложению не удалось запуститься, поскольку MSVBVM50.DLL не был найден. Повторная установка приложения может исправить эту проблему» , или «Runtime DLL/OCX File error» . При этом может появиться окно Помощника по совместимости программ с сообщением Эта программа требует отсутствующий компонент Windows .
Способы решения проблемы
Если возникают ошибки, связанные с файлами *.dll , необходимо:
1. Переустановить программу.
2. Если переустановка программы не помогает, нужно проверить наличие в системе требуемых файлов.
Файлы *.dll , как правило, должны быть расположены в папке \Windows\System32 (реже – в каталоге конкретной программы). Если файлы присутствуют, нужно зарегистрировать их.
Если требуемых файлов нет, найдите их в Интернете, скачайте и скопируйте в папку \Windows\System32 и в каталог программы. Теперь нужно зарегистрировать их.
Как зарегистрировать файлы *.dll
Регистрация файлов *.dll производится с помощью сервера регистрации regsvr32.exe (дисковый адрес которого – \Windows\System32 ).
Рассмотрим способы регистрации:
1. Нажмите кнопку Пуск ;
– в текстовое поле Найти программы и файлы введите regsvr32 имя_файла –> Enter .
2. Нажмите кнопку Пуск ;
– в текстовое поле Найти программы и файлы введите cmd ;
– в появившемся перечне (под заголовком Программы ) нажмите правой кнопкой cmd.exe ;
– из контекстного меню выберите Запуск от имени администратора ;
– введите пароль, если появится соответствующий запрос;
– в открывшемся окне после приглашения системы введите regsvr32 имя_файл , нажмите Enter .
3. Если вы пользуетесь файловым менеджером Total Commander , то можно выполнить регистрацию файлов *.dll с помощью командной строки Total Commander .
Если регистрация файлов *.dll прошла успешно, появится окно RegSvr32 с соответствующим сообщением, например: «Успешное выполнение DllRegisterServer в C:\WINDOWS\system32\msvbvm50.dll» :
Примечания
1. При регистрации файлов *.dll происходит их запись в Реестр Windows . При этом в ветке создается соответствующий параметр REG_DWORD со значением 1 .
2. Использование команды regsvr32 :
regsvr32 ] DLL-файл
/u – отменяет регистрацию DLL ;
/s – «тихий» режим – окна сообщений не отображаются;
/i – вызывает DllInstall , передавая параметром необязательную строку_команд, при использовании с ключом /u вызывает DLLUnInstall ;
Часто бывает такое, что какая-то программа не хочет запускаться, т.к. у вас на компьютере не хватает определённого DLL файла. Что же делать в таком случае? Нужно скачать и установить этот файл. Со скачиванием DLL файла с интернета обычно проблем не возникает, а втот как его установить?
Первый способ как установить DLL файл:
Самый простой способ - это просто поместить скачанный вами dll файл в папку с программой, которую вы вы пытаетесь запустить. Такой способ очень прост, но работает не всегда.
Второй способ как установить DLL файл:
Второй способ - это поместить скачанный dll файл в системные папки вашей операционной системы. Для начала вам нужно узнать какая у вас операционная система. Для этого, кликните правой кнопкой мыши по значку "Мой компьютер" на рабочем столе и зайдите в "Свойства". Там и будет указан тип вашей операционной системы:
DLL – расширение файлов, которые являются своего рода справочными материалами при выполнении тех или иных программ. Название типа файлов расшифровывется как «библиотека динамической компоновки ». Эти динамические библиотеки могут быть одновременно использованы разными приложениями. В каком-то смысле они также похожи на исполняемые файлы , однако отличаются значением некоторых полей. Самым ярким примером являются файлы драйверов , которые описывают правила взаимодействия устройства и ОС.
Прежде, чем рассказать, как открывать эти файлы следует обратить внимание пользователя на то, что особого смысла в открытии такого типа библиотек нет. Они содержат в себе информацию необходимую программе для выполнения. Крайне редко в этом типе файлов хранятся важные переменные (а не способ их вызова) или данные. Хотя, справедливости ради, отметим, что есть ряд компаний, которые всё-таки сумели расположить информацию, необходимую для работы программ в dll.
Правда, динамические библиотеки иногда подвергаются декомпилированию для получения хранящихся в них правил и принципов работы. Для этого существует несколько специальных программ .
Достоинством программы также является умение работать с разными типами файловых библиотек и даже редактировать некоторые из них. Но стоит очередной раз повториться – данная информация подана сугубо для ознакомления , стараться изменить файлы с расширением.dll одна из худших идей, что может прийти в голову пользователя.
Есть ли у данной программы достоинства ? Огромное количество – спектр работ, которые можно на ней выполнить ограничен лишь фантазией владельца. А недостаток всего один, но существенный – годовая подписка составляет около 500$.
Но если писать и редактировать библиотеки нам не приходится, как обычным пользователям, то вот знание об их установке может быть полезным. Дело в том, что далеко не все программы снабжаются полным набором необходимых библиотек и подразумевается, что вместе с ними устанавливаются и отдельные компоненты (весьма распространённая деталь при установке игр), которые были забыты пользователем. Тогда требуется устанавливать , а точнее регистрировать файлы dll.
Сперва нужно найти сам файл. Благо, при тщательном поиске это не так уж и сложно и необходимые библиотеки встречаются довольно часто, даже отдельно от пакета, что не мешает их работе. Стоит отметить, что в случае с играми это бывают d3dx.dll которые могут отсутствовать в системе – в этом случае лучше установить пакет DirectX, а не ставить 150 библиотек вручную.
Но если нужно регистрировать новый dll для запуска программы, то лучше поместить его в каталог с программой. В ОС Windows 7 и выше присутствует возможность открытия командной строки из каталога, в иных же случаях предстоит открыть командную строку и используя команду cd добраться в нужный каталог.
Для указанных же версий ОС достаточно открыть нужный каталог и зажав шифт клацнуть по пустому месту правой кнопкой мыши . В ответ перед нами всплывёт контекстное меню, следующего вида:
Нажимаем на «открыть окно команд ». Перед нами появится командная строка, где нам нужно прописать следующее:
regsvr32 dllname.dll
Данная команда добавит библиотеку в перечень используемых системой, экономя время на иные способы установки. Чтобы отменить регистрацию, следует использовать такую команду:
regsvr32 — u dllname.dll
Важно отметить
, что dllname.dll введено для примера и вместо всего, что написано слева от точки (то есть вместо dllname) следует вводить название вашего файла. На изображении показано добавление в ОС Windows 10 dll файла от directX8.
Таким нехитрым образом можно установить библиотеку в систему. Однако если наблюдаются малейшие сбои или ошибки, то следует сразу же выполнить другую команду, убрать регистрацию, а с проблемной программой обратиться к специалисту.
Уже много было статей на тему ошибок, связанных с библиотеками DLL. Ошибки эти все исправляются единственным способом – установкой этого самого dll-файла на компьютер. В данной статье я напишу, как это сделать.
При появлении какой-то ошибки обычно указывается название DLL-файла, которого не хватает. Вам нужно ввести название этого файла в поисковике и скачать. Например, нам нужно скачать файл d3dx9_27.dll. Мы вводим это название в Яндексе или Google и скачиваем с какого-нибудь сайта. Наиболее безопасный и популярный сайт, с которого я сам скачиваю DLL-файлы – DLL-FILES.com. Там есть поле, в которое можно ввести название файла.
Теперь нужно разобраться, куда кидать этот файл dll. В разных системах местоположение этих файлов разное, поэтому я начну с ранних ОС:
Иногда при попытке поместить файл в нужную папку может появится сообщение, что файл там уже есть. Тогда почему появляется ошибка? Возможно, что файл поврежден, либо это какой-то вирус, поэтому вы можете заменить его новым файлом.
Как только вы перекинули все отсутствующие библиотеки необходимо перезагрузить компьютер, чтобы изменения вступили в силу, а потом запустить те приложения, которые не работали.
А что делать, если вы закинули все нужные файлы в папку, но программа или игра по-прежнему не запускается? Тогда можно попробовать зарегистрировать библиотеку в системе, сейчас покажу, как это сделать.
Регистрация библиотек 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 несовместим с версией Windows, либо загружен. Что делать?
Такие ошибки могут возникать по следующим причинам:
Как решить проблему?
На этом я закончу описывать установку DLL-библиотек и впредь постараюсь как можно реже к этой теме возвращаться. Если все же возникли какие-то вопросы, то я постараюсь на них ответить в комментариях.
Часто задаваемые вопросы
C:\Windows\SysWOW64\ , а для 64-разрядных DLL-файлов
C:\Windows\System32\ .
Обязательно перезапишите все существующие файлы (но сохраните резервную копию оригинального файла).
Перезагрузите компьютер.
Если это не устранило проблему, попробуйте выполнить следующие действия, чтобы занести файл в реестр:
Для 32-разрядных DLL-файлов в 32-разрядных версиях Windows и для 64-разрядных DLL-файлов в 64-разрядных Windows:
Занесение в реестр 32-разрядных DLL-файлов в 64-разрядной версии Windows:
DLL файлы это динамические библиотеки, которыми пользуется множество программ на вашем ПК. В момент удаления или обновления одной из программ с ПК может получится так, что ранее установленные в операционной системе файлы DLL могут удалиться по ошибке. Кроме такой ситуации очень часто система не может обнаружить DLL из-за вирусов, нелицензионного программного обеспечения, которые безусловно накладывают негативный след от своего пребывания на компьютере.
Очень часто файлы DLL пропадают из-за разрыва связей программы и операционной системы в случаях, когда пользватель в ручном режиме переносит программу из одной папки в другую. Только автоматические и системные средства удаления и установки программ на ПК могут обеспечить максимально комфортное использование компьютера и операционной системы.
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, что свело на нет преимущества изначального принципа модульности.