Regsvr32 регистрация dll

Содержание

Regsvr32 регистрация dll

When you’re running commands, it’s not always desirable to have a GUI prompt display. So let’s go over how you’ll suppress any GUI prompt when registering an OLE control.

Как зарегистрировать библиотеку DLL в Windows

Regsvr32 регистрация dll

Regsvr32 регистрация dll

Установка игры либо томного приложения предполагает автоматическую установку и регистрацию нужных библиотек DLL в операционной системе Windows. DLL – это динамические библиотеки, воззвание к которым неоднократно может идти от нескольких приложений. Если при попытке воззвания со стороны игры либо программки к определенной библиотеке DLL появилась ошибка, юзер увидит сообщение «точка входа dllregisterserver не найдена» либо «запуск неосуществим, отсутствует .dll файл». Эти и другие ошибки, сообщающие о дилеммах при воззвании к динамической библиотеке, можно убрать, если без помощи других зарегистрировать подходящий файл DLL в Windows.

Почему возникает ошибка при обращении к DLL

Regsvr32 регистрация dll

Библиотеки DLL добавляются в операционную систему при обновлении Windows и при установке приложений. Исходя из этого, можно выделить последующие главные предпосылки, почему появляется ошибка, сообщающая об отсутствии либо дилеммах с DLL файлом:

  • DLL библиотека не была установлена. Обстоятельств этому может быть две – Windows не обновлен до животрепещущей версии, а библиотека поставляется с одним из последних обновлений, либо игра/приложение при установке по неким причинам не произвела установку и регистрацию новых библиотек DLL.
    Направьте внимание: В большинстве случаев в установочные файлы приложения включены все нужные библиотеки DLL, и разработчики не уповают, что на компьютере уже ранее были установлены нужные составляющие.
  • Повреждение библиотек DLL. Данная неувязка в большинстве случаев появляется, если библиотеки DLL были повреждены вирусным программным обеспечением либо неосмотрительными действиями юзера, к примеру, внесением конфигураций в реестр, которые привели к повреждению динамических библиотек.

Большая часть библиотек DLL устанавливается на компьютер вкупе с DirectX, потому если при установке игры либо приложения появляется предложение обновить/установить DirectX, от него не надо отрешаться, по другому велик риск возникновения ошибки «запуск неосуществим, отсутствует .dll файл».

Как зарегистрировать DLL в Windows

Если по неким причинам в Windows отсутствует библиотека DLL, нужная для пуска игр и приложений, юзер может без помощи других ее зарегистрировать. Сделать это может быть 2-мя методами, за ранее загрузив на компьютер нужную библиотеку DLL.

Регистрация DLL с помощью командной строки

Чтоб зарегистрировать имеющуюся на компьютере библиотеку DLL через командную строчку, проделайте последующие деяния:

  1. Запустите командную строчку от имени админа;
  2. В открывшемся окне пропишите команду:

regsvr32.exe путь_к_библиотеке_DLL

Regsvr32 регистрация dll

Заместо «путь_к_библиотеке_DLL» напишите полный путь до библиотеки, к примеру: C:/windows/system32/comctl32.dll
Нажмите Enter, после этого произойдет регистрация библиотеки DLL.

Регистрация DLL с помощью строки «Выполнить»

Регистрация DLL через строчку «Выполнить» фактически ничем не отличается от действий с командной строчкой. Юзеру нужно:

  1. Открыть строчку «Выполнить», нажав на клавиатуре сочетание кнопок Windows+R;
  2. Раскроется окно, в каком необходимо прописать команду:

regsvr32.exe путь_к_библиотеке_DLL

Regsvr32 регистрация dll

Дальше нажмите «ОК», после этого произойдет регистрация библиотеки DLL.

Что делать, если не удается зарегистрировать библиотеку DLL

Вероятна ситуация, когда Windows выдаст ошибку на команду по регистрации библиотеки, в какой обозначено, что модуль загружен, но точка входа DllRegisterserver не найдена. Возможны и другие варианты похожих ошибок, из-за которых не удается зарегистрировать библиотеку DLL. Появляются такие ошибки по последующим причинам:

Regsvr32 регистрация dll

  • Ряд библиотек DLL не созданы для регистрации, и в их отсутствует схожая возможность;
  • Библиотека уже зарегистрирована системой. Если появляются ошибки при обращении к ней, скорее всего она заражена вирусом или повреждена;
  • Неправильный DLL файл. Возможны ситуации, когда DLL-файлы изначально повреждены или не содержат внутри себя нужных компонентов;
  • DLL не совместим с текущей версией Windows.

Если возникают ошибки при попытке регистрации библиотеки DLL, сперва нужно попробовать загрузить официальный компонент от поставщика, чтобы исключить вероятность файла-«пустышки». Для этого потребуется воспользоваться поисковой машиной и найти, к какому компоненту системы относится проблемный DLL.

В редких ситуациях проблемы с регистрацией библиотеки DLL могут возникать, если она не находится в одной папке с исполняющим файлом .exe компонента или приложения. В таком случае нужно переместить библиотеку в папку с исполняющим файлом и попробовать вновь ее зарегистрировать.

Регистрация DLL-библиотеки в системе

Проблемы с отсутствием DLL-библиотек в системе могут возникать после установки каких-либо игр и программ. Они всегда исправляются при помощи загрузки нужного DLL-файла из интернета или других сторонних источников. Благодаря тому, что регистрация новых библиотек в Windows работает в фоновом режиме у пользователей нет проблем с их добавлением и дальнейшего корректного запуска.

Regsvr32 регистрация dll

Однако бывают ситуации, когда выполнение регистрации DLL-библиотек в фоновом режиме в Windows становится невозможным. В таком случае можно самостоятельно выполнить регистрацию нужной библиотеки в системе.

Как зарегистрировать DLL-библиотеку в Windows

Принудительную регистрации DLL-файла в системе можно выполнить как при помощи сторонних программ, так и встроенных инструментов Windows. Однако в последнем случае придется использовать специальные команды для CMD и строки «Выполнить», что может ввести в тупик неопытных пользователей ПК.

Перейдем к доступным вариантам регистрации DLL-библиотеки в системе.

Вариант 1: Стороннее ПО

Вероятно, самый простой из представленных вариантов, потому что пользователю не требуется вникать в различные команды. Пример такой программы – OCX/DLL. Это небольшая программка, позволяющая при помощи нажатия пары кнопок выполнить полноценную регистрацию DLL-компонентов в системе.

Скачайте и установите программу в Windows. Перейдите непосредственно к регистрации компонентов:

Регистрация в системе динамических библиотек SBRF.dll и SBRFCOM.dll

  1. После запуска программы переключитесь к разделу «Register OCX/DLL», что расположен в основном меню в левой части интерфейса.
  2. Будет предложено выбрать тип библиотеки. Помимо DLL там доступен тип OCX. Потому что мы рассматриваем регистрацию DLL-библиотеки, то ставьте там соответствующий маркер.
  3. Теперь нужно указать путь до регистрируемого файла в нижней строке. Чтобы открыть окно выбора файла, воспользуйтесь кнопкой «Browse».
  4. Откроется окошко «Проводника Windows», в каком нужно выбрать расположение файла в операционной системе и нажать «Открыть».
  5. Когда файла будет добавлен в интерфейс программы, воспользуйтесь кнопкой «Register».

Regsvr32 регистрация dll

Во время регистрации DLL-компонента может появится сообщение об ошибке. В таком случае выполните запуск программы OCX/DLL от имени администратора. Кликните правой кнопкой мыши по файлу ярлыку программы и выберите из контекстного меню пункт «Запуск от имени администратора».

Дополнительно функционал OCX/DLL позволяет выполнить отмену регистрации библиотеки в системе. Отвечает за это пункт главного меню «Unregister OCX/DLL». В этом разделе проделываются все те же операции, которые были необходимы для регистрации DLL-библиотеки.

Вариант 2: regsvr32.exe

Данная утилита отвечает за регистрацию DLL-библиотек в системе. Ее можно вызвать несколькими способами, но для неопытного пользователя они могут показаться сложными. Все последующие варианты регистрации будут подразумевать использование данной программы.

Для примера разберем самый простой запуск регистратора DLL-файлов Windows:

  1. Откройте папку, в какой расположен DLL-компонент, который требуется зарегистрировать.
  2. Кликните правой кнопкой мыши по названию данного компонента. Из контекстного меню выберите пункт «Открыть с помощью».

Regsvr32 регистрация dll

  • Windows/System32, если разрядность файла и системы соответствуют друг дружке;
  • Windows/SysWow64, если ОС имеет разрядность 64-бит, а регистрируемый файл 32-бит.

Вариант 3: Регистрация через строку «Выполнить»

Этот вариант подразумевает ввод специальных команд в строку «Выполнить». Все реализуется через встроенные в операционную систему средства и не требует установки каких-либо дополнительных компонентов и программ.

Инструкция выглядит следующим образом:

  1. Запустите строку «Выполнить». Универсальным способом для всех операционных систем Windows является использование сочетание клавиш Win+R. В некоторых Windows запуск «Выполнить» можно произвести через меню «Пуск».
  2. За регистрацию DLL-библиотек отвечает встроенная утилита regsvr32.exe. Команда на регистрацию DLL-файла с ее помощью выглядит так: regsvr32.exe C:\Windows\System32\dllname.dll. После названия используемой утилиты идет путь до DLL-файла, а в конце, где стоит «dllname.dll» указывается непосредственно имя DLL-библиотеки.

Regsvr32 регистрация dll

В случае с последней командой нужно учитывать, какая разрядность у вашей текущей операционной системы. Например, в Windows 64-бит две программы regsver32, которые расположены по двум адресам: C:\Windows\SysWOW64 и C:\Windows\System32. Это сделано не просто так – если у вас 64-битная ОС, но файл DLL 32-бит, то он должен быть перемещен в папку: Windows\SysWoW64. В таком случае команда для регистрации компонента будет выглядеть так: %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\dllname.dll.

Для применения всех команда в строке «Выполнить» требуется нажать либо кнопку «Ок», либо Enter. Учтите, что запуск требуется проводить только в этом случае, если вы вошли в систему от имени администратора.

Вариант 4: Командная строка

В этом варианте нет серьезных отличий от действий в предыдущем. Единственное отличие – все происходит через интерфейс «Командной строки». Некоторым пользователям проще взаимодействовать с ней, потому что в таком случае можно посмотреть историю примененных команд.

Процесс регистрации DLL-библиотек при помощи «Командной строки» выглядит следующим образом:

    Выполните запуск «Командной строки» от имени администратора. Это можно сделать через по меню «Пуск» в Windows 7 и 8 или через поиск по системе для Windows 10. Для запуска от имени администратора в первых двух вариантах нужно нажать правой кнопкой мыши по иконке «Командной строки» и выбрать соответствующий вариант из контекстного меню.

Regsvr32 регистрация dll

Regsvr32 регистрация dll

Regsvr32 регистрация dll

Ошибки регистрации

Почти всегда процесс регистрации новых DLL-компонентов в системе проходит без проблем. Однако иногда могут встречаться следующие ошибки:

  • «Файл не совместим с установленной версией Windows». Возникает, когда вы пытаетесь установить в 32-битной Windows 64-битный DLL-компонент или наоборот. В первом случае нужно будет скачать файл с разрядностью, что соответствует вашей операционной системе. Второй же случай можно исправить при помощи команды, которая рассматривалась выше.
  • «Точка входа не найдена». Можно возникать в следующих случаях:
    • Вы пытаетесь зарегистрировать библиотеку, которая уже зарегистрирована в системе;
    • Выбранная библиотека не поддерживает команду DllRegisterServer, следовательно, не может быть корректно зарегистрирована;
    • Библиотека загружена с ненадежного источника, который распространяет файлы-пустышки с расширением DLL.

    Все рассмотренные методы регистрации библиотек DLL имеют одинаковую эффективность и выбор стоит производить зависимо от того, какой из них вам кажется более удобным. Если у вас возникли проблемы, напишите о них в комментариях. Мы постараемся помочь вам по возможности.

    How and Why to Use the regsvr32.exe Utility [Examples]

    Regsvr32 регистрация dll

    At times, if you’re a Windows user, chances are you’ve probably had to run the regsvr32.exe utility to “register a DLL”. If so, you probably weren’t aware of exactly what was happening under the covers. This cryptic utility is used to manage Object Linking and Embedding (OLE) controls that many Windows applications use.

    But what exactly is an OLE control and why would you want to register an OLE control? In this tutorial, you’ll learn the many ways to install, uninstall, register, or unregister an OLE control with the regsvr32.exe utility.

    Prerequisites

    Ensure you have the requirements below to follow along in running the regsvr32.exe utility:

    • As the regsvr32.exe utility is built-in to most versions of Windows, you only need a Windows computer with an administrator account.
    • You’ll need PowerShell 7 to take advantage of the PowerShell script included in this tutorial.

    What are OLE Controls?

    Before you learn how to use the regsvr32.exe utility, you must first have a rudimentary understanding of what this tool manages, OLE controls.

    OLE controls are a Windows-specific technology developed to facilitate embedding and linking to documents and other objects. This technology has evolved over the years, and different components were built on top of OLE technology.

    Как зарегистрировать DLL OCX в Windows

    You may have heard of Component Object Model (COM), Distributed Component Object Model (DCOM), or ActiveX controls. Each of these technologies is either built on or is an extension of the OLE technology that defines a standard interface to functions written in many different languages.

    ActiveX is deprecated but still available via Internet Explorer on Windows 10, but not on Microsoft Edge.

    Registering OLE Controls

    Now that you understand what the regsvr32.exe utility does, it’s time to register an OLE control, and there are several command variants to do that. Feel free to pick one command variant below or just try each one instead.

    You can register OLE controls via PowerShell or a Windows command prompt. Either way, be sure you’re running your command line as an administrator to ensure the control is properly registered.

    Displaying a GUI Result

    Registering a DLL with regsvr32 , at the simplest use case, involves passing the DLL path to the tool. By default, regsvr32 will display a pop up indicating success (or failure). To register a DLL, provide the name or the full path of the DLL as shown below.

    Running the command below will create the necessary registry classes for the target OLE control in the HKEY_CLASSES_ROOT\CLSID key for x64 instances or HKEY_CLASSES_ROOT\WOW6432Node\CLSID for x86 instances.

    regsvr32 msxml3.dll

    Upon success, you’ll see a GUI result noting that DllRegisterServer was successful.

    Regsvr32 регистрация dll

    When registering an OLE control, regsvr32.exe will apply the system search path. Therefore, if you need to register a specific file outside of that path, it is best to specify the absolute path to the file.

    Registering an OLE Control Silently

    When you’re running commands, it’s not always desirable to have a GUI prompt display. So let’s go over how you’ll suppress any GUI prompt when registering an OLE control.

    To suppress GUI prompts, run regsvr32 followed by the DLL name ( msxml3.dll ) and the /s switch to register the OLE control silently. The only downside to this command is that you’ll also be suppressing any error messages.

    An undocumented switch, /e , exists, that suppresses only the GUI success message but shows the GUI error message—clever!

    regsvr32 msxml3.dll /s

    Regsvr32 регистрация dll

    Registering an OLE Control and Specifying an Install Action

    When you specify a DLL for an OLE registration, you’re only calling the DllRegisterServer method, but there are times when you need to take action after registration. To do that, you can specify the /i parameter.

    For example, you could pass an input string ( U ) to the /i parameter which will invoke the DllInstall method and the DllRegisterServer method simultaneously.

    The DllInstall method allows the regsvr32.exe utility to install a DLL in more than one way and various actions invoked for one DLL.

    regsvr32 /i:U shell32.dll

    Regsvr32 регистрация dll

    Specifying an Install Action Without Calling DllRegisterServer Method

    Perhaps you only want to install an OLE control without re-registering it. If so, run the following command.

    regsvr32 /n /i:U shell32.dll

    The command above uses the /n parameter to prevent calling the DllRegisterServer method for the shell32.dll DLL to the installation method, DllInstall.

    Regsvr32 регистрация dll

    Unregistering an OLE Control with regsvr32.exe

    If you’ve gone through registering an OLE control without errors, then that’s a relief. But there may be a time when you need to uninstall an OLE control when it’s conflicting with other ones. Thankfully, regsvr32.exe offers the ability to unregister and uninstall an OLE control.

    To unregister and uninstall a control, run the regsvr32.exe and pass the /u parameter to unregister the OLE control. You can see in the below GUI result that the msxml3.dll DLL was successfully uninstalled.

    To run an action along with unregistration, pass the action string ( U ) to the /i parameter. Then the regsvr32 command will call the DllInstall method with that action as an uninstallation, like: regsvr32 /i:action /U msxml3.dll .

    regsvr32 /U msxml3.dll

    Regsvr32 регистрация dll

    Handling Errors for regsvr32.exe

    You’ve experienced successfully registering OLE controls, but what if the registration command comes across an error? There are a handful of errors that may appear when you attempt to manage controls. These messages may be cryptic at times but are broken down below to let you know what causes them.

    FAIL_ARGS ⦿ “Unrecognized flag”
    ⦿ “Extra argument on command line”
    ⦿ “This command is only valid when an OLE Custom Control project is open”
    ⦿ “No DLL name specified”
    Implies that a command-line argument was incorrect.
    FAIL_OLE “OleInitialize failed” Implies that there was an error in properly initializing the OLE subsystem.
    FAIL_LOAD “LoadLibary( “ This can be a host of reasons such as a dependent library missing, the DLL is inaccessible due to permissions, or the file is missing.
    FAIL_ENTRY ⦿ ” was loaded, but the entry point was not found. does not appear to be an .DLL or .OCX file”
    ⦿ ” was loaded, but the entry point was not found. may not be exported or a corrupt version may be in memory. Consider using PView to detect and remove it.”
    ⦿ ” was loaded, but the entry point was not found. may not be exported, or a corrupt version may be in memory. Consider using WPS to detect and remove it.”
    Implies that the entry point in the DLL, or function name, is missing.
    FAIL_REG “ in failed“ Implies that despite all the prior steps completing the system still failed to fully register the DLL.

    Extending the regsvr32.exe Utility with PowerShell

    As regsvr32.exe prefers the GUI output, automation may be a challenge. To get rid of that challenge, you can wrap the regsvr32.exe utility in a PowerShell function. By creating a PowerShell function, you can run regsvr32.exe just as if it were a native PowerShell cmdlet.

    As an example, check out the Invoke-RegSvr32 PowerShell function below. This function invokes the regsvr32 utility and uses PowerShell to capture the exit code and process it accordingly. And with applying an argument validation ahead of time, you can even avoid errors altogether!

    To experiment with the below function, open a new PowerShell console and copy and paste the code into it. Then, you’ll be able to invoke the function as shown below.

    Function Invoke-RegSvr32 < Invoke-RegSvr32 "C:\\Windows\\System32\\msxml3.dll" #> [CmdletBinding()] Param ( [ValidateScript(< Test-Path -Path $_ -PathType 'Leaf' >)] [String]$FilePath, [ValidateScript()] $InstallString, [Switch]$Unregister, [Switch]$InstallOnly ) Begin < # Error codes are documented in this Microsoft article # $ExitCodes = @ < 0 = "SUCCESS"; 1 = "FAIL_ARGS - Invalid Argument"; 2 = "FAIL_OLE - OleInitialize Failed"; 3 = "FAIL_LOAD - LoadLibrary Failed"; 4 = "FAIL_ENTRY - GetProcAddress failed"; 5 = "FAIL_REG - DllRegisterServer or DllUnregisterServer failed."; >> Process < If ($InstallOnly -And -Not $InstallString) < Write-Error "If you are running DllInstall by itself, an install string must be included." Return >$Arguments = "/s " -f (($Unregister) ? ' /U': ''), (($InstallString) ? " /i:$InstallString": ''), (($InstallOnly) ? ' /n': ''), $FilePath Write-Verbose $Arguments Try < $Result = Start-Process -FilePath 'regsvr32.exe' -Args $Arguments -Wait -NoNewWindow -PassThru If ($Result.ExitCode -NE 0) < Write-Error $ExitCodes[$Result.ExitCode] >> Catch < Write-Error $_.Exception.Message >> >

    Below you’ll find a few examples of how to use the Invoke-RegSvr32 function.

     # Attempt to only run the DllInstall against msxml3.dll with Verbose output Invoke-RegSvr32 "C:\Windows\System32\msxml3.dll" -Verbose -InstallOnly # Attempt to register msxml3.dll silently with Verbose output Invoke-RegSvr32 "C:\Windows\System32\msxml3.dll" -Verbose # Attempt to register msxml3.dll silently but no output Invoke-RegSvr32 "C:\Windows\System32\msxml3.dll"

    Regsvr32 регистрация dll

    Conclusion

    By now, you’ve learned your way around registering and unregistering DLL and handling errors. Although regsrv32.exe may not be used as much with day-to-day tasks, there are certain times you would need to register or unregister a DLL.

    To extend this even further, you could expand PowerShell to account for even more checks and edge cases. You could even create a PowerShell function to list the registered controls in the CLSID registry location!

    Hate ads? Want to support the writer? Get many of our tutorials packaged as an ATA Guidebook.

    Похожие статьи

    • Regsvr32 регистрация dll для win 10

      Содержание Regsvr32 регистрация DLL для Win 10 x64: 3 способа и причины проблем Как зарегистрировать файл DLL в Windows 10 С использованием…

    • Regsvr32 что это

      Содержание Команда Regsvr32 Ввод в командную строку Расшифровка значений Настройка Полезная информация Regsvr32.exe грузит процессор — что делать…

    • Regsvr32 exe s

      Содержание Regsvr32 exe s Описание Синтаксис Параметры Примеры Сообщения об ошибках Regsvr32.exe Regsvr32.exe и зависимости Anyone can Register DLL Files…

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Что будем искать? Например,Человек

Мы в социальных сетях