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

Применимо к: Windows 10 Pro released in July 2015Windows 10 Enterprise released in July 2015Windows Vista Enterprise Больше

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

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


Сообщения об ошибках средства Regsvr32.exe в ОС Windows Vista и более поздних версиях Windows
В приведенной ниже таблице содержатся сообщения об ошибках 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-разрядный модуль.