REGSVR32 - registers or unregisters a DLL in the Windows registry. Registering DLLs in Windows

When trying to launch a game or application, we may encounter errors like “dllregisterserver entry point not found” or “application cannot be launched, dll file is missing.” There may be several such variations, but the essence is the same: the necessary libraries are not available at all or they are not registered. So, let's figure out how to use the library in the operating system and what to do if the problem is not resolved.

Description of the error

During the installation of Windows and other third-party programs, libraries are unpacked into system folders - .dll files, which are the execution environment for program code for applications. Without going into too much detail, this is how programs and games work. And in cases where the system does not see these files, errors occur.

Causes

This problem can be caused by a number of events:

  1. Virus infection. Unwanted software can damage and remove libraries from your computer. To do this, you should check your machine for viruses and remove them from your hard drive.
  2. Installer error. Typically, the software vendor adds all the necessary system files in the installation package for the application to run. But sometimes developers forget about this. Bottom line - if the computer does not have the appropriate resources (that are installed with another application), your program will not run. It’s much more offensive if you paid a hefty sum for this software.

    Attention! In some cases, the installation program itself warns you about the need to download additional content for the application to work. For example, for some games it is suggested to install the latest version of DirectX separately.

  3. System error. Due to various circumstances that are not always in our control, Windows may lose track of some .dll files. The reason for this is careless manipulation of registry entries.

Methods for registering libraries

There are two ways to add .dll files to the system registry.

Using the command line

To do this you will need to do the following:


Using the Run window

Two-click method:


Why can't I register .dll and how to fix it?

There are three reasons why system file registration fails:

  1. The library is already registered. In this case, the reason is the file itself, which is damaged or infected with a virus.
  2. Registration is not possible. The .dll file may simply be a dummy file or may be incompatible with the version and components of the operating system.

    Attention! Never download .dll files from file hosting services and other suspicious sites. Download libraries only from official sources!

  3. There is no registration function. Some libraries are not designed for registration and simply do not have this function.

There are three ways to get out of this situation:

  1. Download the official system component from the supplier's resource. For example, for the xlive.dll file, you need to download and install the Microsoft Games for Windows package, which can be downloaded from the Microsoft website.

    Advice! If such a situation occurs, look for where to download the system component (this will be a genuine site), and not a separate file.

  2. In case you are a developer and have created your library, register it using regasm.exe.
  3. Sometimes, to use the .dll file, you need to move it to the application folder - to the directory where the .exe executable file is stored.

So, we have looked at a number of ways to register libraries in the system and eliminate the “dllregisterserver entry point not found” error. There should be enough of them. But if you have a unique situation or know another way to solve the problem, please share it in the comments.

Typically, users try to register a dynamic library only if some program requires it to run and will not work without it. In other cases, this is rarely used and is practically not needed by the average user. However, this is not so difficult to do, the main thing is to have administrator rights on your account. How exactly to do this will be discussed in this article.

Several ways to register a dynamic library

First of all, just before registration, need to move downloaded or found file with the dll extension to the desired folder. Usually this System32 or SysWOW64. It would be best to look at the required location for each specific file on the global network.

For users on a 64-bit system, the file regsrv32.exe is present not only in the windows folder, in the System32 directory, but also in SysWOW64. However, the utility for 64-bit systems is still located in the first System32 folder. To avoid confusion and incorrect operation of commands, for those who use 64-bit Windows, it is better to write in operators instead of regsrv32.exe, full path to this file.

The first method is to launch the application " Execute", through start or the combination Win + R. And write in it regsvr32.exe full_path_to_file. You can see an example of such an operator in the image.

After executing the command, you can receive a message stating that everything was successful, but most often errors like the one shown in the picture occur.

The second method of adding a dynamic library involves using the console running as administrator. The easiest way to find it is through the start menu. You will need to enter exactly the same command as in the previous method.

The operator is shown in the image. Here, too, successful registration may occur or a failure message will be displayed.

The third method is essentially the same. You need to right-click on the library file, select the line in the menu “ To open with"and in this utility specify the full path to the executable file that located in the folder windows/system32 or syswow64.

Possible errors during registration

Mostly errors occur in several cases. In the first case, the error occurs due to the fact that such a file is already registered or, in principle, is not intended for registration. The second option implies that the user downloaded a regular file from some site (well, if he didn’t pick up viruses in the process), which has the same name and extension as the required one, but in fact is just a dummy.

There are several ways to add the required file.

  • If you are involved in programming and have created your own dynamic library, then there is a way to register it special utilities(regasm.exe).
  • Otherwise, your best bet would be to search for the name of the missing file and find out which set of programs it belongs to. For example, libraries whose name begins with d3d are part of DirectX and will be added when you install it. It may also happen with other data; you will need to find the program, download and install it entirely, and not individual libraries from it. In this case, the utility will register itself and everything will work.
  • Can place the found file dll into the same directory with the executable file of the utility that requires it to run. This could also work.
  • In case of launching games and utilities that were downloaded from the Internet, it is also worth check reports your antivirus. It is quite possible that it deleted the required file during installation or prevents the application from accessing it. If this is the case and the user trusts the program, then you can reinstall it or run it with the antivirus disabled.

Very often, users have a question about how to register a DLL in the seventh or eighth version of Windows. Typically, this question appears after the system informs the user that the required library is missing on the PC.

In truth, registering a library is quite simple - you only need to complete one step. However, you must have administrator rights to do this.

But there are some nuances to this. For example, if the DLL registration is successful, the error that the required library is missing may not disappear. In addition, a RegSvr32 error may occur and a notification that the module is not able to work on a PC with this version of the operating system. It may also indicate that the DLLRegisterServer access point is not found. This does not indicate that incorrect actions were performed.

Three methods to register a DLL in the OS

All the actions described below assume that a place to copy the library has been found and the DLL is located in the System32 or SysWOW64 directory or in another place where it should be.

All manipulations for DLL registration will be performed using regsvr32.exe, but here you need to pay attention that when using a 64-bit system, this file can be located in two directories: SysWOW64 and System32. It is worth noting that these files are different, with the 64-bit one located in the System32 directory. It is recommended in each case to write the path to regsvr32.exe, and not just the file name.

The first method is quite common and can often be found on the Internet. It consists of several manipulations. Initially, you need to press Win + R, and then in the “Run” window you should enter regsvr32.exe path_to_dll_file and click OK. In addition, “Run” can be found in the “Start” menu if it is activated.

Then, if successful, a notification should appear on the screen indicating that the library registration was successful. However, most likely, a notification will appear that the module has loaded, but the DllRegisterServer access point is missing and you need to make sure that the DLL is the right file.

The next method involves running a command line as an administrator and writing the same command as in the above method. You need to open the command line. In the “eight”, to do this, you need to press Win + X, and then specify the required item. In the “seven”, the command line can be found in “Start”. You need to right-click on it and select “Run as administrator”.

Then you should enter regsvr32.exe path_to_dll, as in the previous method. However, registration will most likely fail.

In addition, there is a method that will be needed in rare cases. You need to right-click on the DLL to be registered and select “Open with”. After this, you should click “Browse” and find regsvr32.exe in the System32 or SysWow64 directories and use it to run the DLL.

In principle, all options for registering a DLL in an operating system have the same essence.
It’s just that each user will be able to choose a more convenient method for themselves. But why it doesn’t work to register the DLL, you’ll have to figure it out.

Why DLL registration fails

If there is no DLL on the PC, due to which games or utilities do not start and an error pops up, you need to download this file and register it, however, a notification appears that the module is not able to work with this operating system or there is no DllRegisterServer access point, not you need to be upset, there is a way out of this situation.

This can happen for several reasons. First, not every file is designed to be logged. To perform registration this way, you need a file that supports the DllRegisterServer function. In some cases, the error occurs because such a file already exists on the system.

Secondly, some resources that offer to download this file contain a dummy with that name and it is impossible to register it, since it is not a library.

There are different ways to fix this problem. Programmers can use regasm.exe when registering their library. For regular users, it is recommended to search for what this file is needed for. Having this information, you can download the installer, which installs all the necessary libraries and independently registers them in the operating system.

For example, all files that start with d3d can be installed using DirectX. And msvc libraries are installed using Visual Studio Redistributable. If after downloading a game from a torrent it does not open, you need to look at the antivirus reports, since it may have eliminated the modified DLLs.

Often, instead of registering a library, you can use a DLL location in the same directory as the exe file that needs the library.

A message appears that the *. dll(For example, VCompLib.dll). In this case, the program, of course, does not start.

Error messages can be different (it depends mainly on what language the program is written in), for example: "Component "MSCOMM32.OCX" not correctly registered: file is missing or invalid" , or "The application failed to start because MSVBVM50.DLL was not found. Re-installing the app may fix this issue.", or "Runtime DLL/OCX File error". A window may appear Program Compatibility Assistant with a message This program requires a missing Windows component.

Ways to solve the problem

If you encounter errors related to *. dll, necessary:

1. Reinstall the program.

2. If reinstalling the program does not help, you need to check the presence of the required files on the system.

Files *. dll, as a rule, should be located in the folder \Windows\System32(less often - in the directory of a specific program). If files are present, you need to register them.

If the required files are not there, find them on the Internet, download them and copy them to a folder \Windows\System32 and to the program directory. Now you need to register them.

How to register *.dll files

Registering *. dll performed using a registration server regsvr32.exe(whose disk address is \Windows\System32).

Let's look at the registration methods:

1. Click the button Start;

– in the text field Find programs and files enter regsvr32 filename–>Enter .

2. Press the button Start;

– in the text field Find programs and files enter cmd;

– in the list that appears (under the heading Programs) right click cmd.exe;

– from the context menu select Run as administrator;

– enter the password if prompted;

- in the window that opens after the system prompt, enter regsvr32 filename , press Enter.

3. If you use a file manager Total Commander, then you can register *. dll using the command line Total Commander.

If registering *. dll was successful, a window will appear RegSvr32 with a corresponding message, for example: "Successful execution of DllRegisterServer in C:\WINDOWS\system32\msvbvm50.dll":


Notes

1. When registering *. dll they are recorded in Windows Registry. At the same time in the thread the corresponding parameter is created REG_DWORD with meaning 1 .

2. Using the command regsvr32:

regsvr32 ] DLL file

/u– cancels registration DLL;

/s– “quiet” mode – message windows are not displayed;

/i– causes DllInstall, passing an optional command_string as a parameter, when used with the /u switch causes DLLUnInstall;

Registering files with *.dll and *.ocx extensions

Spoiler: Help (click to open)

  • DLL (from the English Dynamic-Link Library - dynamically linked library) - a concept in the Microsoft Windows operating system; dynamic library that allows repeated use by various software applications. ActiveX controls and drivers are sometimes also classified as DLLs. In the UNIX world, similar functions are performed by the so-called. shared objects. The *.dll file format follows the same conventions as the *.exe executable file format, combining code, tables, and resources.
  • ActiveX is the name of a group of technologies developed by Microsoft for programming component-based object applications based on the COM model.
  • COM (abbreviated from the English Component Object Model) is a model of Microsoft component objects, a standard mechanism that includes interfaces with the help of which some objects provide their services to others; is the basis of many object technologies, including OLE and ActiveX).
  • OLE (abbreviated from English Object Linking and Embedding) is the general name (until 1996) of a group of Microsoft object-oriented technologies based on COM (OLE 1, OLE 2, OLE automation, OLE Database, etc.).
  • ActiveX control – ActiveX control element; a new name introduced in 1996 by Microsoft for independent programmable components, previously called OLE controls, OCXs, OLE custom controls; unlike the latter, they allow you to work with the Internet.
  • OCX (short for OLE Custom eXtension) – movable controls, OLE custom control, OLE control. To put it simply, *.ocx files are ActiveX controls that perform approximately the same functions as *.dll files.
  • OLE custom control – a specialized OLE control element, OLE control.
  • OLE control – OLE control elements, programmable application components with an OLE-based interface that allows them to be easily included in other applications; since 1996 called ActiveX control. Synonyms: OCX, OLE custom control.
__________________________

How to register *.dll and *.ocx files?

Registration of *.dll and *.ocx files is carried out using the registration server regsvr32.exe (whose disk address is \WINDOWS\system32).

Let's look at the registration methods:

1). Click Start - Run... (or press the win and r buttons at the same time) - enter - regsvr32_ file_name_ - OK.

2). Click Start - Run... - Run a program - cmd - OK. The command interpreter cmd.exe (command line) will start after the system prompt

Code:

C:\Documents and Settings\Username>

enter regsvr32_file_name, for example,

Code:

Regsvr32 Koza.dll

.

3) Use this tweak, which adds “Registration” and “Cancel registration” items to the context menu of DLL and OCX files

Code:

Windows Registry Editor Version 5.00 @="regsvr32.exe \"%1\"" @="regsvr32.exe /u \"%1\"" @="regsvr32.exe \"%1\""


To remove this function from the context menu, use the tweak:

Code:

Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\dllfile\Shell] [-HKEY_CLASSES_ROOT\dllfile\Shell\Registration] [-HKEY_CLASSES_ROOT\dllfile\Shell\Registration\command] @="regsvr32.exe \"%1\"" [- HKEY_CLASSES_ROOT\dllfile\Shell\Unregister] [-HKEY_CLASSES_ROOT\dllfile\Shell\Unregister\command] @="regsvr32.exe /u \"%1\"" [-HKEY_CLASSES_ROOT\ocxfile\Shell] [-HKEY_CLASSES_ROOT\ocxfile \Shell\Registration] [-HKEY_CLASSES_ROOT\ocxfile\Shell\Registration\command] @="regsvr32.exe \"%1\""


4). If you use the Total Commander file manager, you can register *.dll and *.ocx files using the Total Commander command line.

________________________

regsvr32 parameters:

Regsvr32: ] DLL file

/u - Unregisters a DLL
/s - "Silent" mode; message boxes are not displayed
/i - Calls DllInstall, passing an optional command_string as a parameter,
when used with the /u switch, calls DllUnInstall
/n - Does not call DllRegisterServer; this can be used with the /i switch