При попытке зарегистрировать библиотеку DLL с помощью 0x80070005 возникает Regsvr32.exe
В этой статье описывается решение проблемы 0x80070005, которая возникает при регистрации библиотеки DLL с помощью Regsvr32.exe.
Область действия: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер базы знаний: 827659
Симптомы
При попытке зарегистрировать библиотеку динамической компоновки (библиотеку DLL или .dll-файл) с помощью программы командной строки Regsrv32.exe библиотека DLL не зарегистрирована, и может появиться следующее сообщение об ошибке:
Сбой DllRegisterServer в file_name.dll.
Код возврата: 0x80070005
Такое поведение не происходит в Windows NT 4.0 или Windows 2000.
Причина
Это может произойти при попытке зарегистрировать библиотеку DLL с помощью Regsrv32 во время входа с помощью учетной записи без учетных данных администратора, например учетной записи, которая является членом стандартной группы пользователей. Учетная запись без учетных данных администратора не может записывать данные в реестр или изменять файлы в папке System32.
Это происходит из-за того, что Windows XP и Windows Server 2003 используют более строгую схему безопасности, чем в более ранних версиях Windows. Эта схема не позволяет стандартным пользователям регистрировать библиотеки DLL.
Из-за этого стандартные пользователи не могут запускать программы, которые самостоятельно регистрируют библиотеки DLL с помощью идентификатора стандартного пользователя.
Решение
Чтобы устранить эту проблему, войдите в систему с помощью учетной записи администратора и зарегистрируйте библиотеку DLL.
Дополнительные сведения
Вы можете зарегистрировать библиотеку DLL с помощью учетной записи без учетных данных администратора, если библиотека DLL не записывает данные в реестр или не изменяет файлы в папке System32.
Обратная связь
Были ли сведения на этой странице полезными?
Регистрация файлов OCX и DLL в качестве системных глобальных
В этой статье описывается регистрация файлов OCX и DLL в качестве системных глобальных.
Область действия: Windows 10 — все выпуски
Исходный номер базы знаний: 186597
Аннотация
При установке или запуске приложения может появиться сообщение о том, что OCX-файл или DLL-файл необходимо зарегистрировать как глобальный системный. Запишите файл, который необходимо зарегистрировать.
OCX-файлы
- Запустите сервер в режиме VGA.
- Для регистрации OCX-файла как глобального системы необходимо использовать команду Regsvr.exe, Regsvr16.exe (16-разрядная) или Regsvr32.exe (32-разрядную). Эти команды включаются в комплект средств разработки при установке Visual Basic или Visual FoxPro.
В зависимости от приложения может потребоваться зарегистрировать несколько OCX-файлов таким образом.
DLL-файлы
Чтобы зарегистрировать библиотеку DLL в качестве глобальной системы, перейдите в каталог SYSTEM32 и найдите библиотеку DLL, указанную в сообщении об ошибке. Команда для регистрации файла с именем Sample.dll :
REGISTER /S SAMPLE.DLL
Данные регистрации для программы распознаются только при загрузке программы. Таким образом, если REGISTER вы выполняете команду для уже загруженной программы, изменения вступает в силу только при следующей загрузке программы.
Также обратите внимание, что запускать могут только администраторы REGISTER .
Обратная связь
Были ли сведения на этой странице полезными?
Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
Windows 10 Pro released in July 2015 Windows Vista Enterprise Windows Vista Business Windows Vista Home Basic Windows Vista Home Premium Windows Vista Ultimate Microsoft Windows XP Home Edition Microsoft Windows XP Professional Microsoft Windows XP Tablet PC Edition Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Ultimate Windows 8 Windows 8 Enterprise Windows 8 Pro Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Еще. Меньше
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий TechNet.
Аннотация
Regsvr32 — это служебная программа командной строки для регистрации и отмены регистрации элементов управления OLE, например ActiveX и библиотеки DLL в реестре Windows. Средство Regsvr32.exe установлено в папке %systemroot%\System32 в ОС Windows XP и более поздних версиях Windows.
Примечание. В 64-разрядных версиях Windows есть две версии файла Regsv32.exe:
- 64-разрядная версия — %systemroot%\System32\regsvr32.exe;
- 32-разрядная версия — %systemroot%\SysWoW64\regsvr32.exe.
Синтаксис команды Regsvr32
Программа RegSvr32.exe имеет следующие параметры командной строки.
Regsvr32 [/u] [/n] [/i[:строка_команд]] DLL-файл
/u — отменяет регистрацию сервера
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд; при использовании с ключом /u вызывает DllUnInstall.
/n — не вызывает DllRegisterServer; это может использоваться с ключом /i
/s – «тихий» режим; окна сообщений не отображаются
Типичные решения ошибок Regsvr32
При появлении ошибки Regsvr32 попробуйте устранить ее одним из следующих способов.
- Способ 1. Повторный запуск команды Regsvr32 в командной строке с повышенными привилегиямиЧтобы открыть командную строку с повышенными привилегиями, выполните указанные ниже действия. Windows 8.1 и Windows 8Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить. Windows 7 и Windows VistaНажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить. Windows XPВойдите в систему в качестве администратора или с другой учетной записью с правами администратора и откройте окно «Командная строка».
- Способ 2. Использование 32-разрядной версии Regsvr32 для регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС WindowsЕсли при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС Windows появляется ошибка, выполните следующие действия.
- Откройте командную строку с повышенными привилегиями.
- Если 32-разрядная библиотека DLL находится в папке %systemroot%\System32, переместите ее в папку %systemroot%\SysWoW64.
- Выполните следующую команду:
%systemroot%\SysWoW64\regsvr32
Как зарегистрировать библиотеку DLL в Windows


Установка игры или тяжелого приложения подразумевает автоматическую инсталляцию и регистрацию необходимых библиотек DLL в операционной системе Windows. DLL – это динамические библиотеки, обращение к которым многократно может идти от нескольких приложений. Если при попытке обращения со стороны игры или программы к определенной библиотеке DLL возникла ошибка, пользователь увидит сообщение «точка входа dllregisterserver не найдена» или «запуск невозможен, отсутствует .dll файл». Эти и другие ошибки, сообщающие о проблемах при обращении к динамической библиотеке, можно устранить, если самостоятельно зарегистрировать нужный файл DLL в Windows.
Почему возникает ошибка при обращении к DLL

Библиотеки DLL добавляются в операционную систему при обновлении Windows и при установке приложений. Исходя из этого, можно выделить следующие основные причины, почему возникает ошибка, сообщающая об отсутствии или проблемах с DLL файлом:
- DLL библиотека не была установлена. Причин этому может быть две – Windows не обновлен до актуальной версии, а библиотека поставляется с одним из последних обновлений, или игра/приложение при установке по некоторым причинам не произвела инсталляцию и регистрацию новых библиотек DLL.
Обратите внимание: Чаще всего в установочные файлы приложения включены все необходимые библиотеки DLL, и разработчики не надеются, что на компьютере уже ранее были установлены необходимые компоненты. - Повреждение библиотек DLL. Данная проблема чаще всего возникает, если библиотеки DLL были повреждены вирусным программным обеспечением или неосторожными действиями пользователя, например, внесением изменений в реестр, которые привели к повреждению динамических библиотек.
Большая часть библиотек DLL устанавливается на компьютер вместе с DirectX, поэтому если при установке игры или приложения возникает предложение обновить/установить DirectX, от него не нужно отказываться, иначе велик риск появления ошибки «запуск невозможен, отсутствует .dll файл».
Как зарегистрировать DLL в Windows
Если по некоторым причинам в Windows отсутствует библиотека DLL, необходимая для запуска игр и приложений, пользователь может самостоятельно ее зарегистрировать. Сделать это возможно двумя способами, предварительно загрузив на компьютер необходимую библиотеку DLL.
Регистрация DLL с помощью командной строки
Чтобы зарегистрировать имеющуюся на компьютере библиотеку DLL через командную строку, проделайте следующие действия:
- Запустите командную строку от имени администратора;
- В открывшемся окне пропишите команду:
regsvr32.exe путь_к_библиотеке_DLL

Вместо «путь_к_библиотеке_DLL» напишите полный путь до библиотеки, например: C:/windows/system32/comctl32.dll
Нажмите Enter, после чего произойдет регистрация библиотеки DLL.
Регистрация DLL с помощью строки «Выполнить»
Регистрация DLL через строку «Выполнить» практически ничем не отличается от действий с командной строкой. Пользователю необходимо:
- Открыть строку «Выполнить», нажав на клавиатуре сочетание клавиш Windows+R;
- Откроется окно, в котором нужно прописать команду:
regsvr32.exe путь_к_библиотеке_DLL

Далее нажмите «ОК», после чего произойдет регистрация библиотеки DLL.
Что делать, если не удается зарегистрировать библиотеку DLL
Возможна ситуация, когда Windows выдаст ошибку на команду по регистрации библиотеки, в которой указано, что модуль загружен, но точка входа DllRegisterserver не найдена. Вероятны и другие вариации схожих ошибок, из-за которых не удается зарегистрировать библиотеку DLL. Возникают такие ошибки по следующим причинам:

- Ряд библиотек DLL не предназначены для регистрации, и в них отсутствует подобная возможность;
- Библиотека уже зарегистрирована системой. Если возникают ошибки при обращении к ней, вероятнее всего она заражена вирусом или повреждена;
- Неправильный DLL файл. Возможны ситуации, когда DLL-файлы изначально повреждены или не содержат в себе нужных компонентов;
- DLL не совместим с текущей версией Windows.
Если возникают ошибки при попытке регистрации библиотеки DLL, первым делом нужно попробовать загрузить официальный компонент от поставщика, чтобы исключить вероятность файла-«пустышки». Для этого потребуется воспользоваться поисковой системой и найти, к какому компоненту системы относится проблемный DLL.
В редких ситуациях проблемы с регистрацией библиотеки DLL могут возникать, если она не находится в одной папке с исполняющим файлом .exe компонента или приложения. В таком случае нужно переместить библиотеку в папку с исполняющим файлом и попробовать вновь ее зарегистрировать.