- Ошибка 0x80070005 при попытке зарегистрировать DLL с помощью Regsvr32.exe
- Симптомы
- Причина
- Решение
- Дополнительные сведения
- Как зарегистрировать DLL библиотеки (x32-64 bit) в Windows 10/7
- Отмена и повторная регистрация DLL библиотеки
- Регистрация DLL библиотеки
- Отменить регистрацию файла DLL
- Перерегистрировать все файлы dll
- Регистрация 32-битной DLL в 64-битной ОС
- Что нужно учесть?
- Устранение неполадок с работой утилиты Regsvr32 в Windows
- Решаем неполадки с работой утилиты Regsvr32 в Windows
- Способ 1: Запуск «Командной строки» от имени администратора
- Способ 2: Перенос файла в «SysWoW64»
- Способ 3: Проверка системы на вирусы
- Способ 4: Проверка целостности системных файлов
- Способ 5: Восстановление Windows
- Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
- Аннотация
- Синтаксис команды Regsvr32
- Типичные решения ошибок Regsvr32
Ошибка 0x80070005 при попытке зарегистрировать DLL с помощью 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.
Как зарегистрировать DLL библиотеки (x32-64 bit) в Windows 10/7
Когда пользователь запускает игры или программы, то может столкнуться с ошибкой, что не удалось запустить программу, так как на компьютере отсутствует DLL файл. В большинстве случаях, регистрация указанного DLL файла может устранить данную ошибку. Также, иногда бывают моменты, когда библиотеку нужно перезарегистрировать заново, т.е. отменить текущую регистрацию и заново зарегистрировать.
Воспользуемся инструментом Regsvr32 командной строки, который регистрирует и отменяет регистрацию DLL библиотек и ActiveX (OCX) в Windows 10/8.1/7.
Отмена и повторная регистрация DLL библиотеки
Путь к DLL библиотеке можно скопировать, чтобы не писать его вручную в командой строке. Для этого, зажмите левый Shift и нажмите правой кнопкой мыши по DLL фалу, после чего «Копировать как путь«.
Наберите в поиске «Командная строка» и нажмите по ней правой кнопкой мыши, после чего выберите «Запустить от имени администратора» и вводите ниже команды, которые вам необходимы.
Регистрация DLL библиотеки
В командную строку введите следующую команду, чтобы зарегистрировать DLL библиотеку в системе Windows.
Отменить регистрацию файла DLL
Чтобы отменить текущую регистрацию DLL файла, введите ниже команду и нажмите Enter:
Перерегистрировать все файлы dll
Чтобы зарегистрировать все файлы dll в системе Windows, то:
Регистрация 32-битной DLL в 64-битной ОС
Если вы получаете сообщение об ошибке при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии Windows, выполните следующие действия:
- Если 32-разрядная DLL находится в папке System32, то переместите ее в папку SysWoW64 и введите ниже команду.
или
Что нужно учесть?
1. В 64-разрядной версии операционной системы Windows существует две версии файла Regsv32.exe:
- 64-разрядная версия — это %systemroot%\System32\regsvr32.exe
- 32-разрядная версия — это % systemroot%\ SysWoW64\regsvr32.exe.
2. В 64-разрядной версии Windows, 32-разрядные файлы DLL всегда находятся в папке Windows\SysWOW64. В то время как 64-битные библиотеки DLL находятся в папке Windows\System32. В 32-битной версии Windows, файлы DLL находятся только в папке Windows\System32. Здесь не будет папки SysWOW64.
3. Если вы получаете ошибки, такие как DllRegisterServer, модуль несовместим с версией Windows или точка входа не найдена, то знайте:
- Не все библиотеки DLL предназначены для регистрации в системе Windows.
- Если вы скачали библиотеку со стороннего сайта, то она может быть даже и не библиотекой, а скорее всего каким-либо вирусом.
- Вы регистрируете уже зарегистрированный DLL файл.
Как исправить?
- Много DLL библиотек, таких как d3dx9_43.dll, MSVCR71.dll, VCRUNTIME140.dll, находятся в сторонних компонентах как DirectX, NET Framework и Visual C++, которые нужно скачать на сайте Microsoft и установить. Вы можете в интернете почитать о самом файле, к чему он относится. Также, можете воспользоваться поиском на этом сайте, так как я много описывал решений о проблемах с DLL файлами.
- Отмените регистрацию и зарегистрируйте DLL файл повторно.
4. Отключите на время контроль учетных записей ( UAC ) во время регистрации DLL, так как он может мешать процессу.
Устранение неполадок с работой утилиты Regsvr32 в Windows
Некоторые пользователи время от времени сталкиваются с надобностью ручной регистрации динамически подключаемых библиотек в операционную систему. Задействовать для этого можно только стандартное средство под названием Regsvr32. Запускается оно через «Командную строку», а все взаимодействия осуществляются с указанием определенных атрибутов. Не всегда работа с утилитой проходит корректно, и на экране появляются различные ошибки. Давайте более детально разберем все известные способы решения неполадок с функционированием Regsvr32 в Windows.
Решаем неполадки с работой утилиты Regsvr32 в Windows
В большинстве случаев сама утилита работает стабильно, а все проблемы связаны с неправильными действиями со стороны пользователя. Однако иногда случаются и более трудные ситуации, решение которых тоже будет представлено в рамках сегодняшней статьи. Начнем ознакомление со способами по порядку, взяв во внимание в первую очередь самый легкое и банальное исправление.
Способ 1: Запуск «Командной строки» от имени администратора
Самая частая причина отказа функционирования Regsvr32 — запуск консоли с правами обычного пользователя. Эта утилита нуждается в повышенном уровне доступа, поскольку редактироваться будут именно системные файлы, поэтому выполнять ее следует только от имени администратора. Это произойдет автоматически в том случае, если «Командная строка» была запущена от имени данной учетной записи. Проще всего сделать это через меню «Пуск», выбрав соответствующий вариант. Если у вы еще не вошли в необходимую учетную запись, сделайте это так, как рассказано в другой статье на нашем сайте по следующей ссылке, а уже затем проверьте результативность произведенных манипуляций.
Способ 2: Перенос файла в «SysWoW64»
Обратим внимание, что использовать этот способ стоит только тем юзерам, кто обладает 64-разрядной операционной системой и пытается зарегистрировать или выполнить другие действия с 32-битным файлом. Дело в том, что по умолчанию практически все динамически подключаемые библиотеки помещаются в директорию «System32», но компоненты, имеющие разрядность 32 бита и находящиеся в 64-разрядной Виндовс, должны быть помещены в папку «SysWoW64», чтобы выполнение определенных действий прошло успешно. Из-за этого возникает надобность произведения следующих действий:
- Перейдите по пути C:\Windows\System32 , где C — буква системного раздела жесткого диска.
Отыщите там файл, с которым хотите осуществить манипуляции через Regsvr32. Щелкните по нему правой кнопкой мыши.
В появившемся контекстном меню вас интересует опция «Вырезать» или «Копировать».
Теперь вернитесь к папке «Windows», где кликните ПКМ по библиотеке «SysWOW64».
Запустите консоль от имени администратора так, как это было продемонстрировано в первом способе. Используйте команду %systemroot%\SysWoW64\regsvr32 name.dll , где name.dll — полное название динамически подключаемой библиотеки, не забывая при этом применять аргументы.
Еще раз уточним, что этот метод подходит только в ситуации, когда рассматриваемая утилита отказывается функционировать с каким-то конкретным файлом в 64-битной операционной системе. В остальных случаях эти действия не принесут вообще никакого результата.
Способ 3: Проверка системы на вирусы
Иногда компьютер может быть заражен вредоносными файлами, которые постепенно распространяются по жесткому диску и влияют на функционирование системных компонентов. На Regsvr32 это тоже может отразиться, поэтому мы настоятельно рекомендуем запустить проверку на вирусы сразу же, как только какие-то проблемы были обнаружены. Детальные инструкции по осуществлению этой операции вы найдете в материале по ссылке ниже, воспользовавшись указанной ниже ссылкой. После завершения сканирования перезагрузите ПК и проверьте, наладилась ли работа утилиты.
Способ 4: Проверка целостности системных файлов
Если во время проверки на вирусы они все же были найдены и удалены, вполне возможно, что угрозы оставили след на системных файлах, повредив их. Иногда это приводит к отказу работы некоторых утилит, в том числе и Regsvr32. Запуск проверки целостности системных файлов доступен с помощью стандартного инструмента SFC, однако иногда и он завершает свою работу, выводя на экран ошибку «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них». Тогда следует обратиться к средству DISM. Оно предназначено для восстановления хранилища компонентов. Только после успешного выполнения этой операции вы можете вернуться к SFC, чтобы закончить сканирование и отладку целостности. Детальнее обо всем этом читайте в отдельном руководстве.
Способ 5: Восстановление Windows
Последний вариант, о котором мы хотим поговорить, заключается в восстановлении Windows до заводских настроек или той резервной копии, когда утилита Regsvr32 еще функционировала корректно. Этот способ самый радикальный и использовать его стоит только в той ситуации, когда другие не принесли должного результата. В выполнении данной операции помогут системные или дополнительные средства. Всю необходимую информацию по теме восстановления вы найдете в отдельной нашей статье.
Теперь вы знаете, что существуют разные причины возникновения неполадок при функционировании Regsvr32 и все они имеют разный алгоритм действий для решения. Однако не стоит забывать, что может попасться поврежденный файл или появятся другие трудности. Обо всем этом сообщают появляющиеся на экране уведомления. Вы можете изучить описание каждого на официальном сайте Microsoft, чтобы быстрее справиться с неполадкой.
Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий 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.