Чтобы зарегистрировать DLL-файл в Windows, запустите встроенное средство
Regsvr32
из командной строки с повышенными правами и используйте версию, соответствующую архитектуре DLL. Это применимо только к подходящим саморегистрирующимся COM DLL.
Regsvr32 не является универсальным средством восстановления DLL.
Если Windows сообщает об отсутствии DLL Visual C++, DirectX или обычного приложения, восстановите либо переустановите затронутое ПО. В этом руководстве описаны прямая регистрация, повторная регистрация ранее зарегистрированного COM-компонента и отдельный путь диагностики для более широкого круга проблем с DLL.
Когда следует регистрировать DLL?
| Ситуация | Следует использовать Regsvr32? |
|---|---|
| Разработчик ПО прямо требует зарегистрировать COM DLL | Да |
| В документации DLL указана поддержка саморегистрации | Да |
| DLL не найдена | Обычно нет |
| Отсутствует DLL Visual C++ или DirectX | Нет |
| Файл является обычной DLL-зависимостью приложения | Необязательно; он может не поддерживать регистрацию |
| Вы не знаете назначение DLL или наличие поддержки регистрации | Сначала уточните её источник и предполагаемое назначение |
Перед регистрацией DLL получите её у разработчика ПО или из его установщика, подготовьте полный путь к файлу и закройте затронутое приложение. Если установщик предлагает восстановление или переустановку, используйте этот вариант для отсутствующего или заменённого файла приложения.
Краткое сравнение методов
| Метод | Лучше всего подходит для | Эффективность | Усилия пользователя |
|---|---|---|---|
| Регистрация через Regsvr32 | Известной саморегистрирующейся COM DLL, которую нужно зарегистрировать | Высокая | Средние |
| Повторная регистрация COM DLL | Ранее зарегистрированного компонента с предполагаемой устаревшей регистрацией | Средняя | Средние |
| Диагностика с Fionn DLL Fixer | Симптомов отсутствующих, повреждённых, несовместимых DLL или проблем, связанных с системным путём | Зависит от обнаруженной проблемы | Низкие |
Метод 1. Регистрация DLL с помощью Regsvr32
Когда использовать: Используйте этот метод только если надёжная документация разработчика указывает, что файл является саморегистрирующейся COM DLL и его требуется зарегистрировать.
- Откройте меню «Пуск», найдите
Командную строку
и выберите
Запуск от имени администратора
.

- Выберите средство регистрации, соответствующее DLL, а не только установленной Windows. В 64-разрядной Windows используйте
C:\Windows\System32\regsvr32.exeдля 64-разрядной DLL иC:\Windows\SysWOW64\regsvr32.exeдля 32-разрядной DLL. - Выполните подходящую команду, заменив пример полным путём к DLL.
C:\Windows\System32\regsvr32.exe "C:\Path\To\Example.dll"Для 32-разрядной DLL в 64-разрядной Windows используйте:
C:\Windows\SysWOW64\regsvr32.exe "C:\Path\To\Example.dll" - Убедитесь, что результат содержит сообщение
DllRegisterServer succeeded, затем снова откройте затронутое приложение и проверьте функцию, использующую этот компонент.
Метод 2. Повторная регистрация ранее зарегистрированной COM DLL
Когда использовать: Используйте этот способ только для саморегистрирующегося COM-компонента, который уже был зарегистрирован и может иметь неверную или устаревшую регистрацию. Это не следующий шаг по умолчанию, если метод 1 не сработал.
- Откройте командную строку от имени администратора и выберите 32- или 64-разрядный исполняемый файл Regsvr32, соответствующий DLL.
- Отмените регистрацию известного компонента, добавив
/uв соответствующую команду Regsvr32.regsvr32 /u "C:\Path\To\Example.dll"
- Снова зарегистрируйте ту же DLL подходящим исполняемым файлом без параметра
/u.regsvr32 "C:\Path\To\Example.dll" - Перезапустите затронутое приложение и повторите действие, которое ранее вызывало ошибку, связанную с регистрацией.
Проверка: Компонент должен успешно зарегистрироваться, а затронутая функция — загрузиться без прежней ошибки регистрации. Если этого не произошло, сохраните точный текст сообщения.
Метод 3. Диагностика и устранение проблем с DLL с помощью Fionn DLL Fixer
Когда использовать: Этот отдельный метод подходит для проблем с отсутствующими, повреждёнными, несовместимыми по версии DLL или DLL, связанными с путём System32. Он не заменяет регистрацию COM-компонентов через Regsvr32, предписанную разработчиком.
- Запустите Fionn DLL Fixer. Программа сканирует ПК на наличие проблем с DLL и системой и отображает найденные результаты после завершения проверки.

- После завершения сканирования нажмите
Repair
, чтобы начать устранение всех обнаруженных проблем с DLL и системой.

- Дождитесь завершения восстановления. Кнопка изменится на
Fixing
до устранения обнаруженных проблем.

- После завершения восстановления нажмите
Ok
в диалоговом окне подтверждения. Перезапустите компьютер, если появится соответствующий запрос, прежде чем проверять результат.

- Если проблема сохраняется после перезапуска, нажмите
Recheck
, чтобы выполнить повторное сканирование. При обнаружении новых проблем снова нажмите
Repair
.

Проверка: После повторной проверки откройте затронутое приложение или игру и проверьте, изменился ли исходный симптом отсутствующей DLL или ошибки загрузки.
Распространённые ошибки Regsvr32 и их значение
| Сообщение Regsvr32 | Значение и следующий шаг |
|---|---|
DllRegisterServer succeeded
| Регистрация выполнена успешно. Проверьте затронутую функцию. |
DllRegisterServer was not found
| DLL может не поддерживать саморегистрацию. Ознакомьтесь с инструкциями разработчика. |
The module failed to load
| Проверьте путь, зависимые модули и соответствие 32- или 64-разрядной архитектуры. |
The specified module could not be found
| Целевая DLL может существовать, но одну из её зависимостей не удаётся загрузить. |
0x80070005
| Это часто указывает на проблему с отказом в доступе. Запустите командную строку с повышенными правами и убедитесь, что у вас есть разрешение на использование компонента. |
Сведения о параметрах команд и терминологии Microsoft приведены в справочнике Microsoft по Regsvr32 . Не пытайтесь многократно регистрировать несвязанные DLL, если отсутствует точка входа.
- Неверная архитектура: Подбирайте Regsvr32 в соответствии с архитектурой DLL.
- Пути без кавычек: Заключайте путь, содержащий пробелы, в кавычки.
- Отсутствие повышенных прав: Для регистрации в масштабе всей системы запускайте командную строку от имени администратора.
- Использование регистрации для исправления отсутствующего файла: Вместо этого переустановите или восстановите исходное приложение.
Заключение
Сначала убедитесь, что DLL является саморегистрирующимся COM-компонентом, указанным разработчиком. Затем запустите исполняемый файл Regsvr32, соответствующий архитектуре DLL, подтвердите сообщение об успехе и проверьте затронутое приложение. Повторно регистрируйте только компонент, который уже был зарегистрирован и, как известно, поддерживает отмену регистрации. При симптомах отсутствующей, повреждённой, несовместимой по версии DLL или проблемах с зависимостями Fionn DLL Fixer предлагает отдельный процесс сканирования, восстановления и повторной проверки. Если ошибка не исчезает, используйте полный текст сообщения и инструкции разработчика ПО по восстановлению, чтобы определить следующий шаг.
Часто задаваемые вопросы
Можно ли зарегистрировать любой DLL-файл?
Нет. Regsvr32 предназначен для саморегистрирующихся COM DLL, которые предоставляют необходимую точку входа регистрации. Многие обычные DLL этого не делают.
Какую версию Regsvr32 использовать в 64-разрядной Windows: 32- или 64-разрядную?
Выбирайте версию, соответствующую DLL. Используйте
System32
для 64-разрядных DLL и
SysWOW64
для 32-разрядных DLL.
Почему Regsvr32 сообщает, что указанный модуль не найден, хотя DLL присутствует?
Сообщение может относиться к зависимости, необходимой целевой DLL, а не только к самой целевой DLL. Проверьте источник файла, архитектуру и варианты восстановления приложения.
Следует ли регистрировать DLL, чтобы устранить отсутствие DLL Visual C++ или DirectX?
Нет. Такие ошибки обычно требуют установщика затронутого приложения, его функции восстановления или установки поддерживаемой среды выполнения, а не регистрации COM-компонента.
Нужно ли перезапускать Windows после регистрации DLL?
Обычно достаточно перезапустить затронутое приложение. Перезапустите Windows, если этого требует разработчик или процесс всё ещё может использовать прежнее состояние компонента.
Emily Carter