Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках

Переводы статьи Переводы статьи
Код статьи: 249873 - Vizualiza?i produsele pentru care se aplic? acest articol.
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на веб-сайте центра сообщений об ошибках и событиях.
Развернуть все | Свернуть все

Аннотация

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[:cmdline]] <dllname>

/u — отменяет регистрацию DLL
/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 появляется ошибка, выполните следующие действия.
    1. Откройте командную строку с повышенными привилегиями.
    2. Если 32-разрядная библиотека DLL находится в папке %systemroot%\System32, переместите ее в папку %systemroot%\SysWoW64.
    3. Выполните следующую команду:
      %systemroot%\SysWoW64\regsvr32 <полный путь к библиотеке DLL>

Сообщения об ошибках Regsvr32

Сообщения об ошибках средства Regsvr32.exe в ОС Windows Vista и более поздних версиях Windows

Свернуть это изображениеРазвернуть это изображение
assets folding start collapsed
В приведенной ниже таблице содержатся сообщения об ошибках RegSvr32 и возможные причины их возникновения.
Свернуть эту таблицуРазвернуть эту таблицу
Сообщение об ошибкеПричина
Недопустимый параметр командной строки ""%1"". Проверьте использование команды и повторите попытку.Введено недопустимое сочетание параметров командной строки для вызова средства regsvr32.exe.
Эта команда допустима только в том случае, если открыт проект элемента OLE Activex в Microsoft Visual Studio.Средство Regsvr32.exe вызвано программой Visual Studio, но в командной строке не указано ни одного модуля.
Чтобы зарегистрировать модуль, нужно задать имя двоичного файла.Средство Regsvr32.exe вызвано без указания модулей в командной строке.
Не удалось выполнить команду OleInitialize. Недостаточно свободной оперативной памяти на этом компьютере. Закройте все открытые программы и повторите попытку.Средство Regsvr32 должно инициализировать библиотеку COM, прежде чем вызывать ее функции, и отменить инициализацию при завершении работы. Эти сообщения об ошибке возникают, если попытка инициализации библиотеки 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-разрядный модуль.
Свернуть это изображениеРазвернуть это изображение
assets folding end collapsed

Сообщения об ошибках средства Regsvr32.exe в ОС Windows XP

Свернуть это изображениеРазвернуть это изображение
assets folding start collapsed
В приведенной ниже таблице содержатся сообщения об ошибках RegSvr3 и возможные причины их возникновения.
Свернуть эту таблицуРазвернуть эту таблицу
Сообщение об ошибкеПричина
Нераспознанный флаг: /неверный_флагВведено недопустимое сочетание флагов и ключей.
Не указано имя 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 возвращает ошибку 0x00000485Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Это означает, что "Не найден один из файлов библиотек, необходимых для выполнения данного приложения". Например, при вводе команды regsvr32 missing.dll будет возвращено это сообщение об ошибке, если файл Missing.dll не найден.
Сбой при загрузке библиотеки ("Имя_DLL"). GetLastError возвращает ошибку 0x00000002Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Это означает "Не удается найти указанный файл". Т. е. не найден соответствующий DLL-файл. Например, при вводе команды regsvr32 icwdial.dll будет возвращено это сообщение об ошибке, если файл Tapi32.dll не найден.
Сбой при загрузке библиотеки (dskmaint.dll). GetLastError возвращает ошибку 0x000001fWinerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Это означает "Присоединенное к системе устройство не работает". Это происходит при попытке регистрации файла Win16.dll. Например, это сообщение об ошибке будет отображено, если введена команда regsvr32 dskmaint.dll.
Сбой при загрузке DllRegisterServer (или DllUnregisterServer) в Имя_DLL. Возвращенный код: строкаВ файле Winerror.h найдите строку, указанную в сообщении.
Свернуть это изображениеРазвернуть это изображение
assets folding end collapsed

Свойства

Код статьи: 249873 - Последний отзыв: 31 января 2014 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • 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 Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
  • Windows 7 Корпоративная
  • Windows 7 Домашняя базовая
  • Windows 7 Домашняя расширенная
  • Windows 7 Профессиональная
  • Windows 7 Максимальная
  • Windows 8
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows 8.1
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
Ключевые слова: 
kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com