Прошли времена, когда для написания компьютерной программы от программиста требовалось только знание одного или нескольких языков программирования без привязки к конкретной операционной системе. Сегодня даже относительно простые программы используют готовые наборы библиотек, являющиеся встроенными или устанавливаемыми компонентами ОС. В некоторых случаях использование этих библиотек вызывается некорректно, особенно если вы используете взломанное программное обеспечение, и тогда для их регистрации требуется использование утилиты regsvr32.exe, запускаемой из командной строки. Но и эта операция часто заканчивается неудачно, с ошибочным сообщением «Не удалось загрузить модуль <Имярек>». Сегодня мы рассмотрим, почему возникает ошибка и как от неё избавиться.
Почему возникает ошибка regsvr32
Итак, утилита regsvr32.exe, являющаяся частью операционной системы Windows (начиная с версии 95), – это инструмент, основным предназначением которого является регистрация различных компонентов ОС. Прежде всего – использующих технологию OLE, а таковыми являются, например, элементы ActiveX, позволяющие интегрировать программы в среду Windows вне зависимости от того, на каком языке программирования они написаны. Разумеется, это относится и к любым другим динамическим библиотекам, использующим формат DLL.
При инсталляции программ на компьютер они пытаются определить, присутствуют ли в системе установленные модули, необходимые для их правильного кроссплатформенного функционирования. И если нет, пытаются их установить самостоятельно, во многих случаях – путём простого копирования в системную папку. Однако часто этого оказывается недостаточно, поскольку операционной системе нужно знать не только где находится нужная компонента, но и как с ней работать.
Вот как раз для этих целей и нужен инструмент regsvr32.exe, который регистрирует новые компоненты в системе, если этого не сделала инсталлируемая программа. Утилита запускается только из командной строки, и её отработка отнюдь не всегда происходит успешно. Иногда вместо успешной регистрации библиотеки пользователь наблюдает ошибочное сообщение regsvr32 «Не удалось загрузить модуль <Имя компоненты>».
Причины ошибки могут быть разными: от неправильного пути размещения самой утилиты до ошибочных действий пользователя. Как правило, с этой ошибкой чаще всего сталкиваются геймеры, нередко устанавливающие на компьютер пиратские копии игр. Обычно те модули, которые отвечают за обход лицензирования или взлом, требуют регистрации недостающих динамических библиотек вручную. Впрочем, иногда такие действия требуются и при установке «хороших» и даже достаточно популярных и известных программ, например, при установке Creative Cloud от компании Adobe. Программы обработки видео и графики также могут использовать незарегистрированные компоненты DLL, которые приходится устанавливать вручную. Если эта операция заканчивается неудачно, это не приговор, и сегодня мы рассмотрим, что делать, если regsvr32 не смогла найти указанный модуль и завершилась аварийно.
Способы регистрации DLL в Windows
Регистрировать недостающие компоненты можно и с использованием консоли «Выполнить», но через командную строку это будет намного надёжнее. Все регистрируемые библиотеки помещаются в системный каталог, каковым для Windows 95/98/ME является system, для Windows XP/Vista/NT и более поздних 32-битных версий – system32, для 64-разрядных ОС – либо SysWOW64, либо system32. Все эти особенности нужно знать.
Но чаще всего ошибочное сообщение regsvr32 «Не удалось загрузить модуль» появляется из-за того, что у утилиты не было необходимых прав для выполнения некоторых операций, необходимых при регистрации компонент. Другими словами, вы запустили утилиту как обычный пользователь, не обладающий полномочиями администратора. К счастью, это легко исправимо.
Для этого в ранних версиях Windows (вплоть до «семёрки») необходимо кликнуть по кнопке «Пуск», выбрать пункт «Все программы», пролистать список вниз до подпункта «Стандартные» и найти там «Командную строку». Кликнуть по ней ПКМ и в появившемся контекстном меню выбрать пункт «Запуск от имени администратора».
В «восьмёрке» и «десятке» это выполняется проще, достаточно просто нажать кнопку «Пуск», найти «Командную строку» и щёлкнуть по ней ПКМ с выбором нужного аргумента.
Некоторые предпочитают запускать интерпретатор через проводник – в этом случае действия аналогичные: кликаем по файлу regsvr32.exe правой кнопкой мыши и выбираем опцию «Запуск от имени администратора».
Второй по частоте встречаемости причиной невозможности зарегистрировать нужную библиотеку или компоненту является ошибка с размещением этой компоненты. Даже опытные пользователи копируют нужный файл в каталог System32, просто по привычке. Для 64-разрядной версии Windows системной папкой, в которой размещаются все регистрируемые компоненты, является SysWOW64. Всё, что от вас потребуется, – убедиться, что вы скопировали библиотеку в нужную папку. И если это не так, исправить свою ошибку, а затем снова запустить командную строку с правами администратора и выполнить команду:
regsvr32.exe c: windows /system32/<полное имя регистрируемой библиотеки с расширением>
Второй способ не требует использования командной строки, поэтому он может оказаться предпочтительнее для неопытных пользователей. Приводим пошаговый алгоритм:
Если указанные действия не помогли, есть вероятность, что причина заключается в повреждённом файле regsvr32.exe или в появлении ошибок в системном реестре, связанных с работой этой утилиты. Чаще всего такие неприятности случаются при неправильном выключении компьютера, в том числе из-за пропадания электричества.
В таких случаях прибегают к помощи специализированного программного обеспечения, которое умеет находить подобные проблемы и самостоятельно исправлять их или предлагать пути решения. В качестве примера можно привести известную программу CCleaner, менее известный аналог Restoro и прочий софт аналогичной направленности.
Не помешает также проверить компьютер антивирусом, запустив полное сканирование, – файл regsvr32.exe может оказаться попросту заражённым.
А чтобы подобных проблем в будущем не возникало, не устанавливайте нелицензионное ПО, не игнорируйте защиту компьютера встроенными средствами безопасности и сторонними антивирусами и не допускайте его принудительного выключения.
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 <full path of the DLL>
-
Сообщения об ошибках Regsvr32
В приведенной ниже таблице содержатся сообщения об ошибках RegSvr32 и возможные причины их возникновения.
Сообщение об ошибке |
Причина |
---|---|
Недопустимый параметр командной строки «»%1″». Проверьте использование команды и повторите попытку. |
Введено недопустимое сочетание параметров командной строки для вызова средства regsvr32.exe. |
Эта команда допустима только в том случае, если открыт проект элемента OLE Activex в Microsoft Visual Studio. |
Средство Regsvr32.exe вызвано программой Visual Studio, но в командной строке не указано ни одного модуля. |
Чтобы зарегистрировать модуль, нужно задать имя двоичного файла. |
Средство Regsvr32.exe вызвано без указания модулей в командной строке. |
Не удалось выполнить команду OleInitialize. Недостаточно свободной оперативной памяти на этом компьютере. Закройте все открытые программы и повторите попытку. |
Средство Regsvr32 должно инициализировать библиотеку COM, прежде чем вызывать ее функции, и отменить инициализацию при завершении работы. Это сообщение об ошибке выводится, если попытка инициализации или ее отмены не были успешными. |
Не удалось загрузить модуль «%1».\n\n Проверьте, что двоичный файл хранится на указанном пути или запустите отладку, чтобы диагностировать проблемы с этим двоичным файлом или зависимыми DLL-файлами.\n\n%2. |
При загрузке указанного в командной строке модуля произошла ошибка. Текст ошибки выводится как часть сообщения. |
Модуль «%1″ загружен, но точка входа %2 не найдена.\n\nПроверьте, что » %1″ является правильным файлом DLL или OCX и повторите попытку. |
Средству Regsvr32.exe не удалось найти необходимую точку входа модуля, указанного в командной строке. Это может произойти при неправильном экспорте точек входа из модуля или если модуль не является DLL- либо OCX-файлом. |
Модуль » %1″ загружен, но не удалось выполнить вызов %2, код ошибки: %3.\n\nДля получения дополнительных сведений об этой ошибке выполните поиск в Интернете, указав код ошибки как аргумент поиска. |
При вызове средством regsvr32.exe точки входа модуля, указанного в командной строке, произошла ошибка. Код ошибки выводится как часть сообщения. |
Возможно, модуль «%1» несовместим с версией Windows, работающей на этом компьютере. Проверьте, совместим ли этот модуль с x86 (32-разрядной) или x64 (64-разрядной) версией regsvr32.exe. |
Эта ошибка может произойти, если средство regsvr32.exe запущено на 32-разрядном (x86) компьютере, а в командной строке указан 64-разрядный модуль. |
В приведенной ниже таблице содержатся сообщения об ошибках RegSvr32 и возможные причины их возникновения.
Сообщение об ошибке |
Причина |
|
---|---|---|
Нераспознанный флаг: /неверный_флаг |
Введено недопустимое сочетание флагов и ключей. |
|
Не указано имя DLL. |
Не введено имя DLL-файла. |
|
Имя_DLL было загружено, но найти точку входа для DllRegisterServer или DllUnregisterServer не удалось. |
Файл с указанным именем DLL не является DLL- или OCX-файлом. Например, это сообщение об ошибке будет отображено, если введена команда regsvr32 wjview.exe. |
|
Имя_DLL не является исполняемым файлом, и ни одного модуля поддержки для этого типа файлов не зарегистрировано. |
Файл с указанным именем DLL не является исполняемым файлом EXE, DLL или OCX. Например, это сообщение об ошибке будет отображено, если введена команда regsvr32 autoexec.bat. |
|
Имя_DLL не поддерживает автоматическую регистрацию, либо в памяти находится поврежденная версия. |
Например, при вводе команды «regsvr32 icwdial.dll» будет возвращено это сообщение об ошибке, так как файл Icwdial.dll не регистрируется автоматически. При подозрении на наличие в памяти поврежденной версии файла с указанным именем DLL перезагрузите компьютер или повторно извлеките исходную версию файла. |
|
Ошибка функции OleInitialize (или OleUninitialize) |
Средство Regsvr32 должно инициализировать библиотеку COM, прежде чем вызывать ее функции, и отменить инициализацию при завершении работы. Эти сообщения об ошибке возникают, если попытка инициализации библиотеки COM или ее отмены не были успешными. Например, файл Ole32.dll поврежден или является неправильной версией. |
|
Сбой при загрузке библиотеки («Имя_DLL»). GetlastError возвращает ошибку 0x00000485 |
Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Это означает, что «Не найден один из файлов библиотек, необходимых для выполнения данного приложения». Например, при вводе команды regsvr32 missing.dll будет возвращено это сообщение об ошибке, если файл Missing.dll не найден. |
|
Сбой при загрузке библиотеки («Имя_DLL»). GetLastError возвращает ошибку 0x00000002 |
Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Это означает «Не удается найти указанный файл». Т. е. не найден соответствующий DLL-файл. Например, при вводе команды regsvr32 icwdial.dll будет возвращено это сообщение об ошибке, если файл Tapi32.dll не найден. |
|
Сбой при загрузке библиотеки (dskmaint.dll). GetLastError возвращает ошибку 0x000001f |
Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Это означает «Присоединенное к системе устройство не работает». Это происходит при попытке регистрации файла Win16.dll. Например, это сообщение об ошибке будет отображено, если введена команда regsvr32 dskmaint.dll. |
|
Сбой при загрузке DllRegisterServer (или DllUnregisterServer) в Имя_DLL. Возвращенный код: строка |
В файле Winerror.h найдите строку, указанную в сообщении. |
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
В большинстве своем с ошибкой regsvr32 «Не удалось загрузить модуль» сталкиваются геймеры, устанавливающие на свои компьютеры неофициальные копии популярных игр, когда при взломе или обходе лицензирования необходимо регистрировать некоторые компоненты в виде динамических библиотек самостоятельно. Однако, как свидетельствуют отзывы пользователей в интернете, достаточно часто такую ситуацию можно наблюдать даже при работе с Creative Cloud от Adobe, не говоря уже о многочисленных программах, рассчитанных на обработку мультимедиа.
Для чего служит инструмент regsvr32?
Особо не вдаваясь в технические подробности, для рядовых пользователей стоит отметить, что инструментарий regsvr32 представляет собой специальное средство регистрации системных компонентов в ОС Windows всех последних поколений. Это касается так называемых OLE-объектов, в частности, элементов ActiveX и любых других динамических библиотек формата DLL.
Такие объекты иногда бывает недостаточно просто скопировать в системную папку, поскольку операционная система с ними просто так работать не сможет. Именно поэтому для Windows (чтобы она их «увидела») нужно добавить сведения о скопированной библиотеке. Но, как уже было сказано выше, зачастую вместо регистрации пользователь получает ошибку regsvr32 «Не удалось загрузить модуль». Это может происходить по совершенно разным причинам, которые зависят и от самих регистрируемых компонентов, и от разрядности операционной системы, и даже от неправильных действий самого пользователя.
Ошибка regsvr32 «Не удалось загрузить модуль»: устранение проблемы простейшим методом
Если кто не знает, регистрация любого компонента в системе с использованием инструмента regsvr32 выполняется либо через командную строку, либо через консоль «Выполнить», но первый вариант намного более предпочтителен. Все регистрируемые библиотеки помещаются в специальные каталоги. В случае с Windows 32 бита конечной локацией является папка System32, а в 64-битных ОС библиотеки могут содержаться и вышеуказанном каталоге, и в директории SysWOW64. Но и командной строкой не все так просто. Вполне возможно, что пользователь получает сообщение об ошибке regsvr32 «Не удалось загрузить модуль» только по той причине, что консоль запущена без наличия соответствующих прав на выполнение некоторых операций. Таким образом, и командую строку необходимо запускать исключительно от имени администратора.
В Windows 7 и ниже для этого следует отметить соответствующий пункт при вводе команды cmd в меню «Выполнить», в восьмой и десятой модификациях можно использовать соответствующий пункт из меню ПКМ на кнопке «Пуск», а общим решением для всех последних версий Windows является запуск новой задачи с администраторским приоритетом из «Диспетчера задач».
Дополнительная методика регистрации библиотек
Несмотря на наличие нужных прав при входе в систему под администраторской регистрацией или описанным выше запуском командной консоли, ошибка regsvr32 «Не удалось загрузить модуль» может появляться еще и потому, что в 64-разрядной системе библиотека не была помещена в каталог SysWOW64.
Просто скопируйте регистрируемый компонент из директории System32 в указанную локацию, а затем выполните команду регистрации «%systemroot%\SysWoW64\regsvr32» (без кавычек), через пробел указав полный путь к нужной библиотеке.
Устранение сбоя regsvr32 «Не удалось загрузить модуль» (msvcp110.dll на компьютере отсутствует)
В случае с библиотеками msvcp (причем не только с номером 110) сбои при регистрации в большинстве случаев свидетельствуют об отсутствии или нарушениях в работе специальной платформы MS Visual C++. В этой ситуации необходимо обратить внимание на то, какая именно версия платформы необходима для работы данных компонентов.
После этого ее можно инсталлировать в режиме восстановления даже через стандартный раздел программ и компонентов (кнопка «Изменить»). Иногда можно поступить и проще, загрузив с официального ресурса Microsoft оригинальные библиотеки, после чего зарегистрировать их вышеописанными методами, либо полностью переустановить всю платформу. При этом перед установкой желательно скачать официальный дистрибутив, удалить существующую версию, а только потом выполнить «чистую» установку.
- Remove From My Forums
-
Общие обсуждения
-
Доброго всем времени суток!
Столкнулись с проблемой, неможем зарегать Dll через стандартный regsvr32 в Win vista HomeBasiс.
Мои действия:Пуск-Выполнить…- regsvr32 c:\1cScaner.dll — OK. /dll лежит там.
Ответ системы:Не удалось загрузить модуль «c:\1cScaner.dll» Проверьте что двоичный файл хранится на указаном пути или запустите отладку… Не найден указаный модуль.
Этиже самые dll раньше регистрировались и сейчас регистрируются на другом компе.
Очень прошу помочь.
Заранее благодарю.-
Изменен тип
18 октября 2010 г. 20:02
давность и отсутствие активности в теме
-
Изменен тип
О LENOVO
+
О LENOVO
-
Наша компания
-
Новости
-
Контакт
-
Соответствие продукта
-
Работа в Lenovo
-
Общедоступное программное обеспечение Lenovo
КУПИТЬ
+
КУПИТЬ
-
Где купить
-
Рекомендованные магазины
-
Стать партнером
Поддержка
+
Поддержка
-
Драйверы и Программное обеспечение
-
Инструкция
-
Инструкция
-
Поиск гарантии
-
Свяжитесь с нами
-
Поддержка хранилища
РЕСУРСЫ
+
РЕСУРСЫ
-
Тренинги
-
Спецификации продуктов ((PSREF)
-
Доступность продукта
-
Информация об окружающей среде
©
Lenovo.
|
|
|
|