Vvmebel.com

Новости с мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Regsvr32 ошибка 0x80070005

Fix: DllRegisterServer failed with error code 0x80070005

This problem shows up when trying to run the regsvr32 command on Systems with Windows Vista Home Premium (32 bit). The error makes it impossible to run the command successfully. When you attempt to run the above command, the following error persistently displays on the screen;

was loaded but the call to DllRegisterServer failed with error code 0x80070005

This problem is pretty common and the reason for this error is the limited administrative privileges. In order to run the regsvr32 command successfully, you need to have administrative rights. So, since the problem is because of the administrative rights, you can easily solve this issue by running this command with administrator rights.

The following methods and steps should resolve the error without problems.

Method 1: Cmd as Administrator

The problem is solved by simply forcing the system to recognize the user as an admin before running the command. The steps below provided information on how to do this.

  1. Press the Windows key on your keyboard
  2. Type cmd in the search bar but DO NOT press Enter.
  3. From the list of programs that appear, locate CMD and right click on it.
  4. Select Run as Administrator and click continue from the prompt that appears.
  5. Type regsvr32 “file path” to run the command (Replace file path with the path of the actual file without the quotes)

If all goes well, it should be successful this time around. If you see any error messages then make sure the file path is complete and accurate.

Method 2: Disabling User Account Control UAC

Disabling the User Account Control sometimes solves the problem as well. Basically when you disable UAC, the system won’t ask you to confirm the administrative rights.

Before turning of UAC, note that it basically weakens the security of the system as it becomes more susceptible to security attacks. So it’s advised to turn on the UAC after you are done with the registration process.

The following steps show how to resolve the error by turning of UAC.

  1. Click Start -> type cmd -> right click cmd and choose run as administrator
  2. To turn off UAC, copy and paste the following command in the Command Prompt, and press Enter.
    reg.exe ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v EnableLUA /t REG_DWORD /d 0 /f
  3. To turn on UAC, paste the following command into Command Prompt and press Enter.
    reg.exe ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v EnableLUA /t REG_DWORD /d 1 /f
  4. You have successfully disabled UAC. Restart your computer and run the REGSVR32 command by following the steps given in method 1. It should run successfully without problems now.

Method 3: Disable Antiviruses

There are cases when you will see the error message despite having the administrative privileges. This can be because of antiviruses interfering with the registration process. So if you are still facing some issues after following the methods 1 and 2 then try disabling your antiviruses.

  1. Double click the antivirus icon located in the right bottom corner of the screen
  2. Once the antivirus screen opens, look for an option to disable the antivirus
  3. Usually, there will be an option to disable the antivirus for 10, 20, 30 minutes which will automatically enable your antivirus after that time. Select the option best suited for your needs.

Also, keep in mind that the options might vary depending on the type of antivirus you are using. Once the antivirus is disabled, try to run the regsvr32 command now with proper administrative rights and see if the problem persists.

Note: Antivirus is important for the security of your computer as it helps protect your computer from a lot of threats. So it’s advised to turn on your antivirus as soon as your problem is solved.

Regsvr32 ошибка 0x80070005

Ответ на данный вопрос актуален в контексте натройки обменов между базами 1С с помощью прямого подключения. Один из вариантов установки/регистрации компоненты com-соединения приведен на странице: Ошибка при вызове конструктора (COMObject) по причине: -2147221164(0x80040154): Класс не зарегистрирован На ней описан вариант установки компоненты при установке/переустановке компонентов платформы 1С: Предприятие из стандартного пакета установки. Но случается и так, что все-таки com-компонента по каким-то таинственным пирчинам все же не регистрируется при вышеуказанной операции.

На это есть альтернативный вариант с помощью командной строки операционной системы. Забегая немного вперед, и чтобы обезопасить себя от ошибок при регистрации com-компоненты comcntr.dll через командную строку, подобных приведенной на скрине

Чтобы избежать ошибки «Модуль comcntr.dll загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0x80070005» запускайте командную строку с правами администратора

А дальше уже все зависит от разрядности операционной системы, в которой Вы хотите зарегистрировать компоненту com-соединения 1C: Предприятия.

В системе с разрядностью x32(x86) для платформы 1С: Предприятие 8.2

Читать еще:  Код ошибки 0x8002801c

C:Program Files (x86)1cv82 bin> regsvr32 comcntr.dll

, где — номер текущего используемого релиза плафтормы 1С 8.

Для платформы 1С: Предприятие 8.3 командная строка для регистрации com-компоненты будет выглядеть примерно так:

C:Program Files (x86)1cv8 bin> regsvr32 comcntr.dll

, на скрине, приведенном ниже в качестве прbмерf для случая регистрациb comcntr.dll в ОС x86 значение — «8.3.9.1818»

Теперь рассмотрим вариант для системы с разрядностью x64 для платформы 1С: Предприятие 8.2, альтернативный вариант:

C:WindowsSysWOW64>regsvr32 «C:Program Files (x86)1cv82 bincomcntr.dll»

Для Windows x64 регистрация com-соединения 1С 8.3 платформы разрядности x64 может выглядеть так:

C:WindowsSysWOW64>regsvr32 «C:Program Files1cv8 bincomcntr.dll»

ИЛИ как в примере для случая x64-разрядной операционной системы Windows

В том случае, если у Вас клиент-серверный вариант работы базы 1С 8, то необходимо зарегистрировать компоненту как на самом сервер, где установлен Агент сервера 1С:Предприятия, так и на рабочих местах на которых используется COM-соединение при подключении к базам (чаще всего при обмене между базами).

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

Regsvr32 ошибка 0x80070005

Ответ на данный вопрос актуален в контексте натройки обменов между базами 1С с помощью прямого подключения. Один из вариантов установки/регистрации компоненты com-соединения приведен на странице: Ошибка при вызове конструктора (COMObject) по причине: -2147221164(0x80040154): Класс не зарегистрирован На ней описан вариант установки компоненты при установке/переустановке компонентов платформы 1С: Предприятие из стандартного пакета установки. Но случается и так, что все-таки com-компонента по каким-то таинственным пирчинам все же не регистрируется при вышеуказанной операции.

На это есть альтернативный вариант с помощью командной строки операционной системы. Забегая немного вперед, и чтобы обезопасить себя от ошибок при регистрации com-компоненты comcntr.dll через командную строку, подобных приведенной на скрине

Чтобы избежать ошибки «Модуль comcntr.dll загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0x80070005» запускайте командную строку с правами администратора

А дальше уже все зависит от разрядности операционной системы, в которой Вы хотите зарегистрировать компоненту com-соединения 1C: Предприятия.

В системе с разрядностью x32(x86) для платформы 1С: Предприятие 8.2

C:Program Files (x86)1cv82 bin> regsvr32 comcntr.dll

, где — номер текущего используемого релиза плафтормы 1С 8.

Для платформы 1С: Предприятие 8.3 командная строка для регистрации com-компоненты будет выглядеть примерно так:

C:Program Files (x86)1cv8 bin> regsvr32 comcntr.dll

, на скрине, приведенном ниже в качестве прbмерf для случая регистрациb comcntr.dll в ОС x86 значение — «8.3.9.1818»

Теперь рассмотрим вариант для системы с разрядностью x64 для платформы 1С: Предприятие 8.2, альтернативный вариант:

C:WindowsSysWOW64>regsvr32 «C:Program Files (x86)1cv82 bincomcntr.dll»

Для Windows x64 регистрация com-соединения 1С 8.3 платформы разрядности x64 может выглядеть так:

C:WindowsSysWOW64>regsvr32 «C:Program Files1cv8 bincomcntr.dll»

ИЛИ как в примере для случая x64-разрядной операционной системы Windows

В том случае, если у Вас клиент-серверный вариант работы базы 1С 8, то необходимо зарегистрировать компоненту как на самом сервер, где установлен Агент сервера 1С:Предприятия, так и на рабочих местах на которых используется COM-соединение при подключении к базам (чаще всего при обмене между базами).

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

Модуль загружен … но точка входа DLLRegisterServer не найдена

Крайне неприятная ошибка в Windows «Модуль загружен, но точка входа DLLRegisterServer не найдена» связана, как правило, с некорректным функционированием динамически подключаемой библиотеки (сокр., «.dll»), к которой обращается программа в процессе своей работы. В результате встроенный в Windows процесс отвечающий за регистрацию библиотеки в ОС, отказывается ее принять либо не может найти. А программа, обращающаяся к неработающим модулям, соответственно, не функционирует. Потому, предлагаю разложить по полочкам данную проблему для того, чтобы понять, каким образом ее можно исправить.

Сообщение о проблеме на экране компьютера

В чём суть ошибки «Модуль загружен, но точка входа DLLRegisterServer входа не найдена»?

Итак, объяснение смысла данной ошибки закономерно будет начать с определения «библиотеки«. Библиотека или в некоторых языках программирования, модуль (модули) — это набор подпрограмм, используемых в разработке программного обеспечения. Проще говоря, это совокупность небольших и независимых блоков, каждый из которых является функционально законченным фрагментом кода.

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

Библиотека dll

Динамические библиотеки DLL, встраиваемые в Windows, принадлежат к модулям общего пользования (shared library). Отличительные их особенности для пользователя состоят в следующем:

  • Функции, прописанные в таких библиотеках, могут использоваться несколькими программами одновременно;
  • Загружаются они по запросу соответствующего процесса, то есть динамически, не потребляя без надобности ресурсы ПК.
Читать еще:  80070057 код ошибки при копировании

К сожалению, у DLL модулей есть и недостатки. Не будем говорить о так называемом «DLL Hell», так как на данный момент, несмотря на нарушение самого идейного принципа динамических библиотек общего пользования, разработчики Microsoft разрешили эту проблему. Гораздо важнее в данной статье отметить следующие недостатки:

  • При внесении в библиотеку изменений программы, использующие ее могут перестать работать. Этот недочет является излюбленным у распространителей вирусов. Ведь сама Windows функционирует на основе модулей и, повредив их код, можно повлиять на работу ОС.
  • При отсутствии библиотеки или ее некорректной версии программа, использующая данный модуль, соответственно, будет либо неправильно функционировать, либо откажется работать.
  • Функции, прописанные в библиотеке Dll, получают один адрес в оперативной памяти для всех процессов, вызывающих их, что упрощает эксплуатацию уязвимостей модульного метода организации ПО;

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

Таким образом, скомпоновав все вышеописанное в единое целое, мы можем раскрыть суть ошибки «Модуль загружен, но точка входа DLLRegisterServer входа не найдена». Эта проблема возникает при регистрации библиотеки в системе. Процесс «Regsvr32.exe», отвечающий за инсталлирование интерфейсов объектов в ОС, не может обнаружить функцию регистрации библиотеки «DLLRegisterServer» в проблемном dll.

  • Код функции, которая запрашивается программой, поврежден. Это может быть вызвано как некорректной версией регистрируемой вами библиотеки, так и вирусной атакой, испортившей код модуля, путь к библиотеке в реестре или ее идентификатор GUID.
  • Функция DLLRegisterServer может изначально отсутствовать в коде регистрируемой вами библиотеки;
  • Отсутствие в коде библиотеки интеграции с компонентами COM/ActiveX, управляющими реализацией dll в Windows;
  • Процесс регистрации вообще состоит в том, чтобы прописать путь к подключаемому модулю (модулям) в реестре Windows, для того, чтобы ОС могла «увидеть» библиотеку и оповестить программу, запрашивающую ее, о наличии или отсутствии определенного модуля в системе. Кроме того, каждому классу или объекту, входящему в состав подпрограммы, присваивается уникальный идентификатор GUID, он также необходим для регистрации, поскольку программы работают не с самими библиотеками dll, а с функциональными компонентами, входящими в ее состав. Это говорит о том, что при неправильной регистрации библиотеки значения, прописанные в реестре, останутся неверными, в результате ОС не сможет «опознать» библиотеку, чтобы ПО имело возможность подключить ее.

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

Исправляем проблему при которой модуль загружен, но точка входа DLLRegisterServer не найдена

Итак, для того чтобы самостоятельно справиться с проблемой “Модуль загружен, но точка входа DLLRegisterServer не найдена”, необходимо скачать библиотеку, которая была повреждена в результате действий вирусов или иных факторов. Ее название можно посмотреть в выскакивающем сообщении об ошибке.

Точка входа в библиотеку thumbcache.dll не найдена

Скачиваем библиотеки dll

Скачивая библиотеки, обязательно вначале уточните разрядность вашей версии Windows (х32/ х64). Если вы найдете и установите неподходящие файлы dll, ошибка “Модуль загружен, но точка входа DLLRegisterServer не найдена” исправлена не будет. Разместите скачанные вручную файлы в папках SysWOW64 и System32, находящихся C:Windows.

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

Регистрируем библиотеки dll

В случае, когда библиотека на компьютере в полном порядке, но точка входа все равно не найдена, попробуем зарегистрировать dll в RegSvr32. Рассмотрим пути избавления от проблемы на основе вышеуказанного изображения. Регистрируем файл thumbcache.dll, находящийся C:WindowsSysWOW64.
Первый способ – вызвать командную строку и ввести нужные данные:

  1. нажимаем win+x и находим в появившемся меню командную строку;
  2. после клика на последнюю появляется черное окно;
  3. после слова “Компьютер>” вводим слово regsvr32 и через пробел путь к проблемному файлу C:WindowsSysWOW64thumbcache.dll.

Регистрация библиотеки dll через командную строку

Нажимаем Enter и ждем окончания процесса регистрации библиотеки. Если данный метод не помогает, попробуйте повторить те же действия, но уже в командной строке от имени администратора. Возможно, вам не хватает прав для внесения изменений в систему.

Второй способ – использовать строку “Выполнить”:

  • нажимаем win+r и вызываем нужную нам строку;
  • в появившемся поле вводим название файла RegSvr32.exe и путь к отсутствующей библиотеке;
  • нажимаем OK и ждем результата.

Регистрируем dll через строку «Выполнить»

Устанавливаем обновления для Windows

Способ, к которому можно обращаться уже после того, как вышеуказанные методы не принесли желаемого результата – обновление компонентов вашей ОС. Для этого найдите на своем компьютере Центр обновления. Просмотрите все доступные обновления и прогрузите их. Процесс долгий, но необходимый. Быть может, проблема была в изначально неправильном коде dll-файлов, и разработчики уже нашли решение на своем уровне. Не выключайте соединение с интернетом и сам ПК во время установки обновлений, иначе результата не будет. Убедитесь, что все файлы прогружены и при необходимости повторите операцию.

Читать еще:  Системная ошибка отказано в доступе

Часто для исправления ошибки “Модуль загружен, но точка входа DLLRegisterServer не найдена” разработчики выпускают различное дополнительное ПО: моды, патчи, пакеты установки. В этом случае найдите и скачайте последнюю версию программного обеспечения, с которым у вас возникли проблемы. И напоследок о крайне нежелательном варианте – переустановке всей Windows. Конечно, этого без надобности не хочется делать никому, но, если система не открывает библиотеку dll, а все вышеуказанные методы уже испробованы, то сносите установленную и ставьте другую сборку ОС (из проверенных источников).

Избавляемся от сбойных обновлений Windows

Рассматриваемая нами ошибка может появляться не только в последней ОС Windows, но и в других версиях. Поэтому, следуя инструкциям, вы сможете устранить эту проблему и на своем ПК с Виндовс XP, 7 или 8.1. Для того, чтобы найти установленные системой обновления, необходимо открыть «Удаление программ».

  1. В Windows это можно сделать разными способами. Так, как ошибка появляется в разных версиях, выберите подходящий для себя. В ОС 8.1 и 10 вы можете просто выбрать правой кнопкой мыши (ПКМ) значок Windows и нажать на нужный пункт. В других версиях нажмите на «Пуск» и выберите «Панель управления». Если вы затрудняетесь найти этот пункт, воспользуйтесь поиском. Он для этого и существует;
  2. Если вы перешли в «Панель управления», но пункт «Удаление программ» найти не можете, обратите внимание на строку «Просмотр». Она находится вверху справа над всеми пунктами. Выберите её мышью и установите значение – «Категории»;
  3. Теперь вы точно увидите здесь раздел «Удаление программ». Выберите его;
  4. Список программ здесь нам ни к чему, поэтому обратите внимание на пункты слева выше. Здесь будет строка «Просмотр установленных обновлений»;
  5. Когда вы откроете эту ссылку, перед вами будет список обновлений. Здесь вам нужно найти установленные обновления за последние несколько дней. Определить новые можно по дате их установки. Выбирайте обновления по числу, с которого у вас начались проблемы;
  6. Чтобы удалить выбранное, нажмите на него указателем мыши и вверху выберите «Удалить»;
  7. После этих действий необходимо закрыть окна и все приложения и перезагрузить компьютер.

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

Инструкция по решению проблем при возникновении ошибки 0x80070005

На различных этапах скачивания и установки обновления Windows 7, 8, 8.1 и Windows 10 Пользователи могут столкнуться с ошибкой 0x80070005. Также она может высвечиваться при активации системы и при процедурах по ее восстановлению. В этой статье приведено описание причин ошибки и инструкции, позволяющие ее исправить. Если ошибка 0x80070005 появилась в любой другой ситуации, попробуйте воспользоваться этой инструкцией, но с поправкой на конкретные действия, во время которых вы увидели сообщение об ошибке и этот код.

Причины возникновения ошибки

Код 0x80070005 говорит о том, что система не может получить доступ к определенным файлам системы и не имеет достаточных прав, для работы с ними. Возникает подобная проблема иногда как следствие работы некоторых антивирусов, которые защищают системные файлы от редактирования и перезаписи. Вследствие чего Центр обновления Windows не может произвести установку обновленных версий некоторых файлов или службы активации не могут внести необходимые изменения в системный реестр.

Что необходимо сделать для устранения ошибки 0x80070005

Если код 0x80070005 высвечивается во время установки обновления или активации операционной системы, исправить ее можно по следующей пошаговой инструкции:

  • Перейдите на официальный сайт Microsoft и загрузите файл SubInACL.exe
  • Запустите этот файл и проведите установку по пути C:subinacl
  • Откройте любой текстовый редактор и скопируйте в него небольшой скрипт:

IF exist «%ProgramFiles(x86)%» set OSBIT=64

IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)%

C:subinaclsubinacl.exe /subkeyreg «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing» /grant=»nt service\\\\trustedinstaller»=f

  • Полученный документ сохраните на Рабочий стол с любым именем, но обязательно в формате .bat.
  • Перейдите на Рабочий стол, кликните правой кнопкой мыши на созданном файле и выберите «Запуск от имени администратора».
  • По завершении выполнения скрипта вы увидите надпись Готово в открывшейся Командной строке. Нажмите любую клавишу, чтобы закрыть окно.
  • Перезагрузите компьютер и попробуйте повторить операцию, при которой возникал код 0x80070005.

Если же ошибка высвечивается при операциях по восстановлению системы или созданию контрольной точки восстановления, попробуйте следующие способы:

  • Временно отключите активную защиту антивируса, если он установлен в системе. Именно она может стать причиной возникновения проблем с доступом к системным файлам. Если это не помогает, попробуйте временно полностью удалить антивирусное программное обеспечение.
  • Проверьте, имеется ли достаточное свободное место на диске, который выбран для восстановления системы.
  • Проверьте не установлен ли атрибут «Только чтение» для системной папки System Volume Information.
Ссылка на основную публикацию
Adblock
detector
×
×