Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Якщо повідомлення про помилку не описано в цій статті, докладний опис цієї помилки, рекомендовані дії щодо її усунення та додаткові ресурси з підтримки можна знайти на веб-сайті TechNet у розділі Помилки та події

Загальні відомості

Regsvr32 – це утиліта командного рядка, що дає змогу реєструвати елементи керування OLE, такі як бібліотеки DLL та елементи керування ActiveX, і скасовувати їх реєстрацію в реєстрі 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 – скасовує реєстрацію

/i – викликає команду DllInstall, передаючи їй додатковий рядок [cmdline]; під час використання з елементом /u викликає команду uninstall
/n  – не викликає команду DllRegisterServer; цей параметр має використовуватися з елементом /i

/s – "тихий" режим; вікна повідомлень не відображаються

Типові вирішення для помилок, пов’язаних зі службовою програмою Regsvr32

Отримавши повідомлення про помилку Regsvr32:

  • Спосіб 1. У командному рядку в режимі адміністратора запустіть наведену нижче команду.Щоб запустити команду в командному рядку в режимі адміністратора, виконайте наступні кроки:

    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 та можливі причини їх виникнення.

Повідомлення про помилку

Причина

The command-flag ""%1"" is not valid. (Неприпустима позначка командного рядка ""%1"".) Please review the command usage and try again. (Перегляньте використану команду та повторіть спробу.)

Введено неприпустиму комбінацію параметрів у командний рядок для виклику засобу regsvr32.exe.

Ця команда припустима лише в тому випадку, якщо відкрито проект елемента керування Microsoft Visual Studio OLE Activex.

Засіб 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, інстальованою на комп’ютері. Перевірте, чи сумісний цей модуль із 32-розрядною (x86) або 64-розрядною (x64) версіями засобу Regsvr32.exe.

Ця помилка може виникнути, якщо засіб Regsvr32.exe запущено на комп’ютері із процесором x86, а в командному рядку вказано 64-розрядний модуль.


У наведеній нижче таблиці містяться повідомлення про помилки RegSvr32 та можливі причини їх виникнення:

Повідомлення про помилку

Причина

Unrecognized flag: (Нерозпізнана позначка:) /неприпустима_позначка

Введено неприпустиму комбінацію позначок або перемикачів.

Не вказано ім’я бібліотеки DLL.

You did not include a .dll file name. (Ім’я файлу DLL не вказано.)

Dll_Name Бібліотеку з ім’ям_Dll завантажено, але не вдалося знайти точку входу для DllRegisterServer або DllUnregisterServer.

The specified Dll name is not a .dll or .ocx file. (Бібліотека Dll з указаним іменем – це не файл DLL або OCX.) Наприклад, це повідомлення про помилку відображатиметься, якщо введено команду regsvr32 wjview.exe.

Dll_Name – це невиконуваний файл і для нього не зареєстровано жодного модуля підтримки реєстрації.

The specified Dll name is not an executable file (.exe, .dll, or .ocx). (Бібліотека Dll з указаним іменем –це не виконуваний файл (EXE, DLL або OCX).) Наприклад, це повідомлення про помилку відображатиметься, якщо введено команду regsvr32 autoexec.bat.

Dll_Name не підтримує автоматичну реєстрацію або в пам’яті знайдено його пошкоджену версію.

Наприклад, це повідомлення про помилку відображатиметься, якщо введено команду regsvr32 icwdial.dll, тому що файл Icwdial.dll не реєструється автоматично. Якщо ви підозрюєте, що в пам’яті міститься пошкоджена версія файлу з іменем Dll, спробуйте перезавантажити комп’ютер або повторно вилучити вихідну версію файлу.

OleInitialize failed (or OleUninitialize failed) (Помилка під час виклику команди OleInitialize (або OleUninitialize))

Regsvr32 must initialize the COM library before it can call needed COM library functions and uninitialize the library when it shuts down. (Службова програма Regsvr32 має ініціалізувати бібліотеку COM, перш ніж викликати її функції, і деініціалізувати бібліотеку під час завершення її роботи.) Ці повідомлення про помилки виникають у разі невдалої спроби ініціалізації або скасування ініціалізації бібліотеки COM. Наприклад, файл Ole32.dll пошкоджено, або використовується його неправильна версія.

Помилка команди ("Dll_Name"). Після введення команди GetlastError з’являється помилка 0x00000485

З Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Це означає, що "Один із файлів бібліотеки, потрібний для запуску цього застосунку, не знайдено." Наприклад, якщо введено regsvr32 missing.dll і файл Missing.dll не знайдено.

Помилка команди ("Dll_Name") Після введення GetLastError з’являється помилка 0x00000002

З Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Це означає, що "Не вдалося знайти вказаний файл". Інакше кажучи, не знайдено залежний файл DLL. Наприклад, після введення regsvr32 icwdial.dll відображається повідомлення про помилку, якщо не знайдено файл Tapi32.dll (в залежності).

LoadLibrary("dskmaint.dll") failed. (Помилка команди LoadLibrary("dskmaint.dll").) Після введення команди GetLastError з’являється помилка 0x000001f

З Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Це означає, що "Підключений до системи пристрій не працює". Ця поведінка можлива під час реєстрації dll-файлу Win16. Наприклад, після введення regsvr32 dskmaint.dll відображається таке повідомлення про помилку.

Помилка під час запуску функції DllRegisterServer (або DllUnregisterServer) у Dll_Name. Повернений код: рядок

У файлі Winerror.h знайдіть рядок, вказаний у повідомленні.


Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×