Не удалось выполнить вызов dllregisterserver код ошибки 0x80020009

Ошибка 0х80020009

При установке Капиком или при ручной регистрации библиотек capicom.dll нередко может появиться ошибка 0х80020009, которая вопреки мнению решается очень просто. Данная ошибка означает то, что у текущего пользователя недостаточно прав для вызова, так называемого средства RegSvr32, для внесения изменений в библиотеку dll. Решается проблема очень просто: Вам необходимо запускать данную утилиту под учетной записью администратора.

Итак, для начала необходимо запустить командную строку под учетной записью администратора: в меню пуск в поле поиска пишем «cmd» и в найденной утилите cmd.exe кликая правой кнопкой мыши выбираем поле «Запуск от имени администратора».

Запуск cmd от имени администратора

Далее в окне командной строки пишем ту команду которая привела к ошибке 0х80020009: если это произошло в процессе регистрации библиотек капиком(capicom.dll), то пишем C:WINDOWSSysWOW64regsvr32 capicom.dll, предварительно поместив в папку C:WINDOWSSysWOW64 файлы: capicom.dll и capicom.inf, которые можно скачать здесь: Capicom 64 bit. Регистрация любых других библиотек, которая могла привести к данной ошибке, происходит аналогично.

RRS feed

  • Remove From My Forums
  • Общие обсуждения

  • Здесь
    http://forums.techarena.in/windows-xp-support/235204.htm
    написано мол проблема с правами.
    Специально с клиентского компьютера пробовал заходить и админом домена, и админом локального компьютера (на котором лежит bin каталог от 1С) ноль реакции. Что делать?

    • Изменен тип
      Igor Leyko
      29 октября 2010 г. 6:43
      отсутствие активности в теме

Все ответы

  • 1)Вы  пробывали  распространить права на Classes  Root  как  там  написано?
    2)С  помощью  утилиты regview посмотрите куда обращается regsvr и где ему отказано.

  •   Надо cmd запустить с правами админа. Пуск-Все программы-Стандартные — CMD (правой кнопокой на нем и запускаем с правами администратора). Тогда dll’ки регятся без проблем.

Модуль загружен, но dllregisterserver не удалось найти точку входа 6 решений проблемы

Добрый день, друзья. Бывает, когда в Виндовс 10 модуль удалось загрузить, но DllRegisterServer не удалось найти точку входа. Когда функционирует ОС Windows 10, разумеется, иногда возникают различные сбои. Во время некоторых из них появляется ошибка, в которой сообщается про то, что произошла ошибка в точке входа dllregisterserver. Разумеется, данная проблема решаема, но нужно исследовать разнообразные методы для решения этой проблемы.

Данный сбой имеет прямую зависимость от картотеки системы, которая является комплексом определённых приложений, которые необходимы, чтобы выполнить разнообразные операции на ПК. Также данный элемент называют модулем. Каждый из них осуществляет некий набор опций. К примеру, открывает диалоговые окна или производит подсчёт с помощью калькулятора. Данные операции являются стандартными, для выполнения которых пишется определённый код.

модульные элементы

Давайте отметим недостатки этой библиотеки:

Когда на дисплее монитора появилась надпись «Модуль загружен» без точки входа, получается, что внутри картотеки DLL есть сбой – произошло удаление или повреждение определённого элемента, или же сбой повредил регистрацию и прочее.

Исправляем данный сбой

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

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

3 окна

Разрядность приложения должна быть такой же, как у ОС (32 bit или 64 bit). Если вы установите элемент не той разрядности, то данный сбой не исчезнет. Те элементы, которые вы скачали, нужно переместить в определённые папочки ОС Виндовс — SysWOW64, System32. После этого, данные файлы требуют регистрации. Ниже я покажу, как это делается.

Регистрируем dll с помощью командной строки

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

Регистрация с применением утилиты «Выполнить»

Если вам не удалось решить проблему, то можно ввести в «Командную строку», также как администратор, следующее сочетание:

RegSvr32.exe C:WindowsSysWOW64thumbcache. dll (или путь по вашему адресу) и нажать ввод.командная строка 2

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

DllRegisterServer не выполняет вызов из-за ошибки 0x80070005

Попробуем выключить контролирование учеток (UAC).

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

Итак, нам нужна «Командная строка» запущенная как администратор. Вводим сочетание:

reg. exe ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v EnableLUA /t REG_DWORD /d 0 /f

командная строка 3

Производим перезагрузку ПК и проверяем, исчез ли сбой?

Надеюсь, всё прошло успешно. Если так, то нужно вновь включить UAC. Разумеется, нам для этого опять потребуется «Командная строка». Введём сочетание:

reg. exe ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v EnableLUA /t REG_DWORD /d 1 /f

командная строка 4

Нужна опять перезагрузка.

Отключаем антивирус

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

Из-за чего может не получиться зарегистрировать DLL?

Модуль загружен, но dllregisterserver не удалось найти точку входа 6 решений проблемы

Данные элементы система может отказаться регистрировать по следующим причинам:

Видео как зарегистрировать dll картотеку в Виндовс

Вывод: как поступить, если DllRegisterServer не удалось найти точку входа вы теперь знаете. Напомню, библиотека скачивается с официального сайта. Чтобы всё прошло успешно, элементы помещаем в специально предназначенную для этого папочку. После этого, выполняем показанные мной действия. Не забываем, вы должны быть «Администратором» в этом профиле. Успехов!

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

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

Скриншоты ошибки загрузки модуля

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

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

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

Библиотека dll

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

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

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

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

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

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

Итак, для того, чтобы самостоятельно справиться с проблемой, необходимо https://www. dll. ru/, которая была повреждена в результате действий вирусов или иных факторов. Ее название можно посмотреть в выскакивающем сообщении об ошибке.

Сообщение RegSvr32 об ошибке

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

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

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

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

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

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

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

Окно Выполнить

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

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

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

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

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

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

Не удалось выполнить вызов DllRegisterServer код ошибки 0x80040200 – что делать?

При регистрации DLL-файла или установке приложения, которое пытается это сделать автоматически, процесс может прерваться сообщением «Не удалось выполнить вызов DllRegisterServer с кодом ошибки 0x80040200». В большинстве случаев ее причиной является проблема с разрешениями. Чтобы ее обойти, попробуйте зарегистрировать библиотеку с доступом администратора.

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

Отмена регистрации DLL-файла

Если сталкиваетесь с ошибкой 0x80040200 при попытке отменить регистрацию DLL-библиотеки вручную, скорее всего, для выполнения этой операции нет достаточных разрешений. В этом случае запустите «regsvr32» в командной строке с повышенными правами.

Выведите на экран окно поиска Windows и наберите «командная строка». Щелкните правой кнопкой на найденный результат и выберите вариант запуска от имени администратора.

В консоли выполните команду для отмены регистрации библиотеки:
regsvr32 /u *.dll

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

Перерегистрация файла

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

Откройте Проводник (Win +E) и перейдите в папку установщика, который не удается запустить. Кликните по нему правой кнопкой мыши и выберите в меню пункт запуска от имени администратора.

Следуйте инструкциям до завершения процесса. Если видите сообщение с кодом 0x80040200 – закройте окно и перейдите к следующему шагу.

Откройте командную строку с правами администратора через окно системного поиска.

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

Примечание: Вместо звездочки укажите наименование файла.

После успешного окончания, перезагрузите ПК и посмотрите, устранена ли проблема.

Запуск OCX-файла из каталога System32

Если видите, что не удается выполнить вызов DllRegisterServer при работе с файлом *.ocx, ошибка указывает на проблемы с разрешениями. Попробуйте переместить OCX в папку System32 и запустить оттуда для проверки, что он имеет требуемый доступ.
В Проводнике перейдите в локацию с OCX-файлом. Кликните по нему правой кнопкой и выберите пункт «Вырезать».

Перейдите по пути C:WindowsSystem32 и вставьте файл, который только что скопировали в буфер обмена.

После этого повторите установку приложения еще раз и посмотрите, прерывается ли она сообщением 0x80040200.

Источники:

https://info-kibersant. ru/dllregisterserver-ne-udalos. html

https://rusadmin. biz/oshibki/modul-zagruzhen-no-tochka-vhoda-dllregisterserver-ne-najdena/

https://compuals. ru/error/ne-udalos-vypolnit-vyzov-dllregisterserver-kod-oshibki-0x80040200

Лет 15 назад писал на VB6 и активно использовал ActiveX компоненты, которые обычно хранятся в OCX файлах. Перебирал старые исходники, проги, и увидел при запуске одной из прог, что OCX компонент не найден в системе.

Чтоб на новом компе прога увидела ActiveX компонент — надо его зарегистрировать в системе. Для этого вызывается утилита regsvr32.exe, а в параметрах вызова указывается путь и имя OCX файла.

И если под Windows 10 вызывать regsvr32 без прав администратора, то выдает ошибку 0x80020009.

Чтоб автоматизировать процедуру регистрации для любых OCX и DLL файлов и регистрировать их по одному клику необходимо сделать следующее:

1) Жмем Windows+R (или Пуск-Выполнить), вводим

и жмем Enter

2) Открывается папка, в которой валяются все ярлыки прог, которые видны в меню по правому клику на любом файле (точнее, в его подменю Отправить, что по-английски будет как раз «send to»).

3) Создаем в папке текстовый файл, переименовываем его в regsvr.bat

4) Жмем правой кнопкой мыши на regsvr.bat и выбираем Изменить (второй пункт сверху)

5) Файл regsvr.bat будет открыт в блокноте, вводим в блокнот следующее:

6) Сохраняем наш файл regsvr.bat и закрываем блокнот

7) Жмем правой кнопкой мыши по regsvr.bat и выбираем «Создать ярлык».

8) Переименовываем ярлык в «regsvr.bat ADMIN»

9) Жмем правой кнопкой мыши по ярлыку «regsvr.bat ADMIN» и выбираем Свойства

10) На вкладке «Ярлык» жмем внизу справа кнопку «Дополнительно»

11) В открывшемся окне ставим галку «Запуск от имени администратора» и жмем «Ок».

12) Закрываем окно свойств ярлыка кнопкой «Ок».

13) Всё, теперь можно кликать по любому OCX или DLL файлу правой кнопкой и выбирать в меню «Отправить» — «regsvr.bat ADMIN», соглашаться кнопкой «Да» на выполнение от имени администратора и получать сообщение об успешной регистрации.

p.s. для того, чтобы убрать компонент из системы («разрегистрировать обратно»), нужно вызвать regsvr32 с ключом /u перед именем OCX/DLL файла. Кому нужно, те могут для этого создать себе также второй bat файл в меню «Отправить», вписав в него следующее:

Теперь вы можете регистрировать и убирать из зарегистрированных любые DLL/OCX файлы с компонентами.

I am trying to register with regsvr32.exe the prnadmin.dll (on a Win7 target machine) but i get this error 0x80020009

Any suggestions please?

asked Apr 28, 2010 at 7:36

OrElse's user avatar

OrElseOrElse

9,62939 gold badges139 silver badges251 bronze badges

1

regsvr32.exe needs to be run as an administrator. Maybe this was the cause?

answered Apr 28, 2010 at 7:49

Daniel Renshaw's user avatar

Daniel RenshawDaniel Renshaw

33.6k8 gold badges74 silver badges94 bronze badges

0

For Windows Vista/Windows 7 users:
Click Start>All Programs>Accessories, then right-click on “Command Prompt” and select “Run as Administrator”
Type in the following command exactly as you see it and press ENTER.
secedit /configure /cfg %windir%infdefltbase.inf /db defltbase.sdb /verbose
Wait for the command to complete, it can take some time so please be patient.
Once the command has completed, try to register a dll file again.

answered Dec 27, 2011 at 21:13

mohamed elsnousy's user avatar

1

For Windows Vista/Windows 7 users: Click Start > All Programs > Accessories, then right-click on Command Prompt and select Run as Administrator.

Steve Czetty's user avatar

Steve Czetty

6,1479 gold badges39 silver badges48 bronze badges

answered Sep 13, 2012 at 8:13

Hardik Manglani's user avatar

Best method I have found is to open the PowerShell ise with administration rights then cd to c: and insert your command, for example

regsvr32 "c:Program FilesWindows Media Playerwmpband.dll"

Roope Hakulinen's user avatar

answered Jan 10, 2015 at 21:58

NiceAdviceMan's user avatar

For Windows Vista/Windows 7 users: Click Start > All Programs > Accessories, then right-click on Command Prompt and select Run as Administrator.
Then type: regsvr32 filelocationfileName
Then you see that file which generate error is loadded successfully.

answered Jul 26, 2015 at 12:21

Geeta Pal's user avatar

I had a similar problem with our Office COM addin. Visual Studio 2019 could successfully build the C++ code, but the registration failed with the above error code.

Solution was: Some files had a «wrong» file encoding (UTF8-BOM) instead of (UTF8) and after I changed the file encodings everything worked as expected.

answered Oct 31, 2020 at 22:15

Robert Muehsig's user avatar

Robert MuehsigRobert Muehsig

5,1962 gold badges29 silver badges33 bronze badges

Понравилась статья? Поделить с друзьями:
  • Не удалось вставить значение null ошибка в insert
  • Не удалось восстановить айфон произошла ошибка 2009
  • Не удалось восстановить айфон произошла неизвестная ошибка 4013
  • Не удалось восстановить айфон произошла неизвестная ошибка 4010
  • Не удалось восстановить айфон произошла неизвестная ошибка 4005