- Решаем неполадки с работой утилиты Regsvr32 в Windows
- Вопросы и ответы

Некоторые пользователи время от времени сталкиваются с надобностью ручной регистрации динамически подключаемых библиотек в операционную систему. Задействовать для этого можно только стандартное средство под названием Regsvr32. Запускается оно через «Командную строку», а все взаимодействия осуществляются с указанием определенных атрибутов. Не всегда работа с утилитой проходит корректно, и на экране появляются различные ошибки. Давайте более детально разберем все известные способы решения неполадок с функционированием Regsvr32 в Windows.
Ошибки и причины их возникновения
На сколько эти действия целесообразны решать каждому за себя, но в любом случае все возможные негативные последствия возлагаются на вас.
Не стоит искать подобной помощи на стороне! В большинстве своём рассматриваемые ошибки решаются буквально за несколько действий.
Кроме того, как будет понятно из нижеизложенного материала, далеко не всегда причинно-следственная связь заключается исключительно в самих файлах.
Итак, рассматриваемую тему, а, следовательно, и все ошибки из приведённых 50-ти штук, для наилучшего восприятия материала условно следует разделить на две категории – 1-ая – это «Простые», 2-ая – это «Сложные».
Не стоит придавать подобной классификация какого-то однозначного значения, она приведена исключительно для удобства.
Практически каждый пользователь компьютеров с операционной системой Windows на борту, рано или поздно, но сталкивается с определёнными ошибками с файлами динамических библиотек, решить которые бывает очень сложно.
Данные ошибки носят различный характер и встречаются, в основном, при попытке запустить какое-либо программное обеспечение или игру.
Некоторые из них имеют максимально простой набор возможных решений, другие более сложный, но объединяет их одно – сообщение об отсутствие файла в системе.
Но, как показывает практика, это уведомление лишь указывает на наличие проблем в динамических библиотеках, но ещё не утверждает об их реальном отсутствии в ОС, что одновременно усложняет и упрощает достижение положительного результата.
В рамках настоящей статьи речь пойдёт о сборнике из 50 наиболее часто встречаемых ошибках, так или иначе связанных с файлами динамической библиотеки компоновки.
Какая причина возникновения подобных проблем, а главное, как их решить? Об ответах на эти и другие вопросы и пойдёт дальнейшее повествование.

Всем доброго времени суток! Ситуация:
Есть папка с моим самописным модулем для одной программки. Модуль написан на c# и представляет собой dll и пара вспомогательных файлов. Каждый раз, как я его обновляю я кладу обновленные файлы в сетевую папку эталона. Затем, на каждом клиенте надо запустить bat-файл, который скопирует из эталона обновленные библиотеки на локальный диск, затрет старые и перерегит новые. Это все работает и норм. Вопрос:
Как можно подобное завернуть в msi и потом распространить через политики на определенную группу в АД (есть домен)?
Если просто сунуть батник в запуск политикой, он будет запускаться при каждом запуске машины, обновленные там библиотеки или нет. Это может раздражать пользователя и замедлить запуск системы.
Если форумом ошибся, не сердитесь) Администрирование показалось наиболее близким по теме разделом.
(4) How to Register an ActiveX DLL from a DOS .bat Script
- The regsvr32 command does the registration.
- Windows provides both 32-bit and 64-bit regsvr32 commands.
- Use the 32-bit regsvr32 to register to a 32-bit registry.
- Use the 64-bit regsvr32 to register to a 64-bit registry.
On a 64-bit Windows system, the 64-bit regsvr32 command is simply regsvr32. Here is a sample .bat script to register all DLLs located in the same directory as the .bat script:
@echo off cd %~dp0 set "filemask=*.dll" for %%A in (%filemask%) do regsvr32 %%A || GOTO:EOF ECHO.&PAUSE&GOTO:EOF
On a 64-bit Windows system, the 32-bit regsvr32 command is %systemroot%\syswow64\regsvr32. Here is a sample .bat script to register all DLLs located in the same directory as the .bat script:
@echo off cd %~dp0 set "filemask=*.dll" for %%A in (%filemask%) do %systemroot%\syswow64\regsvr32 %%A || GOTO:EOF ECHO.&PAUSE&GOTO:EOF
ActiveX Registration Tutorial – Page 3
ActiveX Registration Tutorial – Page 5
2.
uriah
Сейчас в теме
Под платформой разную пробовал х86 терминал тест проходит. На х64 драйвер оборудования не находит. Качал последнюю версию с Ingenico.com ipp3xx0-usb-driver-v3.10.zip не подходит
Ну и пусть работает на 32 битном клиенте 1С эквайринг, в чем проблема то.
пусть работает на 32 битном клиенте 1С эквайринг, в чем проблема то.
Судя по объяснениям автора база файловая, в терминале. Так что “клиент” не может быть 32-битным.
P.S. Неоднократно подмечено: x64 и торговое оборудование – перманентный геморрой.
4.
uriah
Сейчас в теме
Тут решили 1С+SQL 64 bit поставить. И пришли танцы с бубнами.
Судя по объяснениям автора база файловая, в терминале. Так что “клиент” не может быть 32-битным.
Вы не дочитали. Так что клиент 32 битный возможен.
Неоднократно подмечено: x64 и торговое оборудование – перманентный геморрой.
– полностью солидарен.
5.
aarty
Сейчас в теме
Коллеги х32 раньше стояла, ну хочет заказчик х64. На старой связке х32 все работало 1С сервер. Поставили х64 1С сервер и все стоп машина.
6.
ishelper
Сейчас в теме
На старой связке х32 все работало 1С сервер.
Какой-такой еще “1С сервер” при ФАЙЛОВОМ варианте?
7.
aarty
Сейчас в теме
ребята файловый вариант поднял как песочницу
8.
ishelper
Сейчас в теме
(7) Плохая песочница – нарыли проблему там, где ее можно избежать: сервер 1С – x64, клиенты – x32, только версия платформы должна ТОЧНО совпадать!
Или и в таком варианте что-то не работает?
9.
aarty
Сейчас в теме
10.
aarty
Сейчас в теме
11.
aarty
Сейчас в теме
Рано радуемся товарищи. Терминал поднялся под х32, а вот ФР не захотел. Требует х64 драва. Что делать?
Пишите нам!
Архитектурная мастерская.
Продвижение сайтов от optimism.ru
Page generation time: 0.1229s (PHP: 50% – SQL: 50%) – SQL queries: 44 – GZIP disabled – Debug off
1.
sergejkov
Сейчас в теме
2.
master-73
Сейчас в теме
(1) Добрый.
Как я ее подправлю если у меня нет вашей конфигурации.
Обработка создавалась именно для УТ 10.3 и тестировалась на ней.
СтандартныеПодсистемы – 2.1.3.50
БиблиотекаЭлектронныхДокументов – 1.1.26.41
БиблиотекаИнтеграцииЕГАИС – 3.2.1.43
УправлениеТорговлей – 10.3.55.2
3.
sergejkov
Сейчас в теме
могу скинуть демо, но мне кажется, там код закрыт (((
4.
NM4IS
Сейчас в теме
Заработало на УправлениеТорговлей 10.3.25, живи 300 лет, автор.
5.
stalker_e30
Сейчас в теме
Приветствую. А в режиме РМК работает (проверялась)?
6.
zonov
Сейчас в теме
Вчера скачали. Но что-то пошло не так:
Тест дополнительного оборудования не пройден.
Дополнительное описание: System error: 999 Details: NO CONNECTION WITH PIN PAD
Когда пробую в чеке ККМ “оплату картой” тоже на 999 ругается.
7.
master-73
Сейчас в теме
(6) iD терминала ввели? какую версию аркуса используете?
11.
zonov
Сейчас в теме
(7) вот только удалось снова поковыряться.
да id терминала введен
Arcus2 (более точно версию, если она где-то есть, не понимаю, где посмотреть)
есть вероятность, что скачан какой-то корявый вариант, ибо где брать официальный не понял
Почитал на других форумах – вроде бы написано, что нужно перевести терминал в режим работы с кассой, что это делается после перезагрузки через “Для настройки нажмите F”. У меня почему-то этой надписи не появляется.
Может быть дело в старой прошивке кассы?
12.
master-73
Сейчас в теме
(11) В личку email свой пришлите.
13.
пользователь
Сообщение было скрыто модератором.
8.
stalker_e30
Сейчас в теме
9.
master-73
Сейчас в теме
(8) Все должно работать так же как и сканер ШК, ККТ и любое другое торговое оборудование
10.
stalker_e30
Сейчас в теме
Спасибо. Обработка работает в РМК на УТ 10.3.71.x. Также проверил отмены операций, тоже работает.
14.
tristan
Сейчас в теме
Здравствуйте! Пытаюсь использовать вашу обработку в сильно переработанной конфигурации Бухгалтерия предприятия 2.0. В справке сказано ” Форма предназначена для настройки параметров работы эквайринговой системы ARCUS2, подключаемой при помощи внешней компоненты IngenicoDriver1C.dll.” У меня есть установленное банковское ПО типа ARCUS2 версии 2.0.0.37. После установки этого ПО регистрируется библиотека ArcCom.dll. А вот библиотеки IngenicoDriver1C.dll я не вижу. Не подскажете, ее нужно отдельно качать и регистрировать или она встроена в вашу обработку?
15.
master-73
Сейчас в теме
(14) Здравствуйте.
Библиотека встроена в обработку.
16.
tristan
Сейчас в теме
17.
stalker_e30
Сейчас в теме
Добрый день. Приобрел обработку на конфигурации 10.3.73.2.
При подключении оборудования в настройке параметров тест проходит. ID терминала ввел. Но при попытки пробития чека через интерфейс кассира пишет ошибку:
System error: 001 Details: Falure, contact the Bank.
И еще заметил, если в списке оборудования нажать на “Проверить все подключенное оборудование”, то выходит ошибка ВнешняяОбработка.ARCUS2ЭквайринговыеТерминалыIngenico.МодульОбъекта(285)}: Недостаточно фактических параметров.
Куда копать?
18.
master-73
Сейчас в теме
(17) Возможно в новых конфигурациях изменения по передаче параметров.
19.
stalker_e30
Сейчас в теме
Я решил проблему.
В форме настройки процедура ТестУстройства вызывается верно:
Ответ = Объект.Драйвер.ТестУстройства(РезультатТеста, АктивированДемоРежим);
а вот в МодулеОбъекта
Результат = ?(Объект.Драйвер.ТестУстройства(РезультатТеста), мНетОшибки, мОшибкаНеизвестно);
я измменил на
Результат = ?(Объект.Драйвер.ТестУстройства(РезультатТеста,АктивированДемоРежим), мНетОшибки, мОшибкаНеизвестно);
Параметр АктивированДемоРежим задается выше, так что ошибки не возникает.
А проблема с не пробитием чека похоже была связана с версией драйвера. Нужна версия 2.80, а специалисты банка ставили какую-то 3.xx. Библиотеку
20.
пользователь
Сообщение было скрыто модератором.
Сложные ошибки
Стоит отметить, что все представители данной категории отличаются отсутствием (за некоторым исключением) прямого указания виновника неисправности их работы.
Файлы динамической библиотеки компоновки крайне чувствительны к внешнему воздействию, в том числе к воздействую штатных средств операционной системы.
Поэтому, наилучшим вариантом будет применение комплексного подхода к решению поставленных вопросов.
«unarc.dll»/«ISDone.dll»
Одна из наиболее сложных в решение ошибки, так как в ситуации с её возникновением тяжело определить реальную причинно-следственную связь.
В большинстве случаев рассматриваемая проблема сопровождается уведомлением операционной системы о наличие повреждения в используемом архиве, но может иметь ещё с десяток вариаций, а именно:
«steamui.dll»
Как и ошибка, которая была включена в категорию «Простых», данная проблема имеет самое непосредственное отношение к функционированию клиента «Steam».
К сожалению, для «steamui.dll» нет чётких инструкций по устранению, так как нет прямого указания на то, что же вызывает проблемы с библиотекой.
Как отмечают сами пользователи одним из наиболее действенных вариантов является выполнение следующих действий:
- Нажмите «WIN+R» и введите команду «steam://flushconfig» для сброса настроек клиента;
- Перезагрузите компьютер и откройте папку, куда ранее было установлено приложение;
- Вместо привычного ярлыка для запуска клиента воспользуйтесь файлом «Steam.exe».
В качестве альтернативного варианта можно выделить полную деинсталляцию приложения и повторную установку клиента.
«api-ms-win-crt- runtime-l1-1-0.dll»
Появление данной ошибки связано с программным обеспечением, использующим функционал «Универсальной среды выполнения C», например, «Skype», «Office» или продукты компании «Adobe».
Самой компании Microsoft были выдвинуты следующие рекомендации по устранению проблемы:
- Установите пакет обновлений «KB2999226», скачав его с официального сайта разработчиков;
- Откройте «Пуск» – «Панель управления» – «Программы и компоненты»;
- Найдите в списке «Visual C++ 2015 Redistributable» и выделите его кликом мышки;
- Нажмите на кнопку «Удалить» и дождитесь окончания удаления компонента операционной системы;
- Пройдя по этой ссылки – https://www.microsoft.com/, скачайте установочный пакет «Visual C++ 2015» в зависимости от разрядности вашей операционной системы;
- Установите ПО и перезагрузите компьютер.
Если ошибка не получила своего должного разрешения, проведите аналогичный комплекс мер и для «Visual C++ 2017».
«hal.dll»
Исходя из практического опыта решения подобной проблемы можно с большой долей вероятности утверждать, что причина её появления кроется в сторонних устройствах хранения информации, подключенных к компьютеру.
В чём именно кроется «соль» ошибки узнать достаточно сложно. Она может быть связана как с аппаратными неполадками (проблема в кабеле, например), так и в программном (штатной работе мешает вирусное ПО, имеющееся на носителе).
Поэтому наиболее действенным, и, пожалуй, единственным, вариантом исправления будет отключение всех сторонних носителей и проверка состояния настроек «BIOS» в части выставления приоритета на загрузку.
Если ситуация осталась без изменений, то велика вероятность, что повреждён загрузочный сектор. Для возвращения корректной работы «bootmgr» следует восстановить прежнюю конфигурацию.
Как это можно осуществить подробно описано в данной статье
«ntdll.dll»
Указание операционной системы на отсутствие файла «ntdll.dll» уже несколько устарело, так как подобная ошибка наибольшую актуальность получила в «WindowsXP», но ещё встречается и в старой-доброй «семёрки».
Её суть в проблемах с совместимостью запускаемого программного обеспечения и операционной системой.
Поэтому первое, что следует попробовать – это запустить приложению/игру в режиме совместимости, для этого:
- Кликните правой кнопкой мышки по ярлыку и выберите «Свойства»;
- Перейдите на вкладку «Совместимость»;
- Активируйте пункт «Запустить программу в режиме совместимости с:» и выберите «WindowsXP»;
- Нажмите «ОК» и запустите ПО.
Второй вариант подразумевает отключение «UAC» (он же контроль учётных записей):
- Откройте «Панель управления» и перейдите в раздел «Учётные записи пользователей»;
- Кликните по строке «Изменить параметры контроля учетных записей»;
- Переведите ползунок до значения «Никогда не уведомлять».
Третий вариант – это отключение службы помощника по совместимости программ:
- Нажмите «WIN+R» и выполните команду «services.msc»;
- В представленном списке найдите упомянутую выше службу;
- Выделите её кликом и нажмите «Остановить».
Далее, останется проверить качество работы программного обеспечения.
Ошибки со стандартным набором решений
Кроме уже обозначенной классификации необходимо выделить ещё одну подкатегорию, в которую входят ещё 15 ошибок из рассматриваемых 50, а именно:
- «Vulkan-1.dll» – это компонент кроссплатформенного API Vulkan
- «OpenCL.dll» – входит в состав одноимённого фреймворка
- «sqmapi.dll» – это компонент функционала по улучшению качества программного обеспечения Microsoft
- «XAPOFX1_5.dll» – один из файлов «DirectX»
- «iertutil.dll» – необходим для управления надстройками браузера Internet Explorer
- «comctl32.dll» – Библиотека элементов управления Windows Presentation Foundation (WPF)
- «openal32» – это компонент кроссплатформенного интерфейса OpenAL
- «KernelBase.dll» и «kernel32.dll» – входят в состав Windows NT
- «dbdata.dll» – связана с работой SQL Anywhere
- «ubiorbitapi_r2.dll» – связан с Ubisoft Game Launcher
- «CryEA.dll» и «aeyrc. dll» – часть игрового движка
- «xrAPI.dll» – часть игрового движка X-Ray Engine
- «Eax.dll» – представитель технологии создания звуковых эффектов «EAX Unified Interface»
Итак, как видно приведённые 15 файлов имеют абсолютное разное происхождение, но всех их объединяет одно – это использование в игровых продуктах.
Исходя из этого наиболее логичными методами устранения ошибок с ними являются следующие действия:
Простые ошибки
Смысл подобной классификации максимально упрощён, есть ошибки (как те о коих пойдёт речь далее), которые решаются путём банальной переустановки основного программного обеспечения, в чей состав они входят, а есть ошибки, предполагающие более сложные методы.
К первым относятся:
Решаем неполадки с работой утилиты Regsvr32 в Windows
В большинстве случаев сама утилита работает стабильно, а все проблемы связаны с неправильными действиями со стороны пользователя. Однако иногда случаются и более трудные ситуации, решение которых тоже будет представлено в рамках сегодняшней статьи. Начнем ознакомление со способами по порядку, взяв во внимание в первую очередь самый легкое и банальное исправление.
Способ 1: Запуск «Командной строки» от имени администратора
Самая частая причина отказа функционирования Regsvr32 — запуск консоли с правами обычного пользователя. Эта утилита нуждается в повышенном уровне доступа, поскольку редактироваться будут именно системные файлы, поэтому выполнять ее следует только от имени администратора. Это произойдет автоматически в том случае, если «Командная строка» была запущена от имени данной учетной записи. Проще всего сделать это через меню «Пуск», выбрав соответствующий вариант. Если у вы еще не вошли в необходимую учетную запись, сделайте это так, как рассказано в другой статье на нашем сайте по следующей ссылке, а уже затем проверьте результативность произведенных манипуляций.

Подробнее: Используем учетную запись администратора в Windows
Способ 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, чтобы закончить сканирование и отладку целостности. Детальнее обо всем этом читайте в отдельном руководстве.

Подробнее: Использование и восстановление проверки целостности системных файлов в Windows
Способ 5: Восстановление Windows
Последний вариант, о котором мы хотим поговорить, заключается в восстановлении Windows до заводских настроек или той резервной копии, когда утилита Regsvr32 еще функционировала корректно. Этот способ самый радикальный и использовать его стоит только в той ситуации, когда другие не принесли должного результата. В выполнении данной операции помогут системные или дополнительные средства. Всю необходимую информацию по теме восстановления вы найдете в отдельной нашей статье.
Подробнее: Варианты восстановления ОС Windows
Теперь вы знаете, что существуют разные причины возникновения неполадок при функционировании Regsvr32 и все они имеют разный алгоритм действий для решения. Однако не стоит забывать, что может попасться поврежденный файл или появятся другие трудности. Обо всем этом сообщают появляющиеся на экране уведомления. Вы можете изучить описание каждого на официальном сайте Microsoft, чтобы быстрее справиться с неполадкой.
Заключение
Как видно из всего изложенного материала, ошибки, связанные с отсутствием файлов-представителей динамической библиотеки компоновки крайне распространенное явление на всех версиях операционной системы Windows.
Это самым непосредственным образом осложняет поиск возможных решений, так как файлы «dll» являются одними из наименее защищённых объектов, чем часто пользуются злоумышленники.
И именно это обстоятельство и должно стать ключевым фактором в отказе от скачивания данных библиотек и от их ручной регистрации в системе.



