Skip to main content

2147221164 (0x80040154): Class is not registered - what to do

In software 1C, as in any other, sometimes errors occur. This does not allow the software to function properly and can slow down the work of the whole organization. Therefore, you need to know how to cope with various failures. In particular, today we will analyze what caused the error “2147221164 (0x80040154): Class is not registered”, and what needs to be done to fix it.

Сообщение об ошибке на экране
Error "2147221164 (0x80040154): Class is not registered"

The content of the article:

When the error 2147221164 appears

The error “2147221164 (0x80040154): Class is not registered” appears due to a conflict of 1C versions that are currently establishing a connection with each other. We will analyze in more detail. Information DB 1C exchange data using a COM connection. And, if, for example, the 1C: Enterprise platform of configuration 8.3 tries to establish communication with 1C version 8.1, then at this stage, when trying to connect to the COM server, this error pops up.

First, let's determine that the 1C server has several versions:

  1. 32-bit 8.1 (x86).
  2. 64-bit 8.2 and 8.3 (x64).

Problems appear on the server itself with the database. The root of the problem is that x64 versions of 1C architecture cannot directly access the 32-bit comcntr.dll library. In this case, the connection is made using COM + applications capable of interacting with x86 libraries.

See also: Incorrect format of data storage 1C 8.3 how to fix .

Coping with the problem

We finish with the theory and proceed to practice - we try to correct the error “2147221164 (0x80040154): The class is not registered”.

Registering the comcntr.dll library

An error may occur if the comcntr.dll library is not registered. We solve it as follows. Call the "Run" line (by clicking the Start button on the PCM) and enter regsvr32.exe "C: \ Program Files (86) \ 1cv82 \ 8.3.XX.XXXX \ bin \ comcntr.dll". Click OK and, if everything went well, we will see a message about the successful registration of the library.

Create a new application COM +

If the library is registered, but the problem remains, then click the Start button (for Windows 10 OS) and call the Control Panel. Then we enter the "System and Security" section, after which we go to the "Administration". A window appears in which we search for the “Component Services” line and open it with a double click on the LMB. In the new console, double-click on the “Computer” folder and then “My Computer”. A list of folders appears before us. «Приложение». PKM click on “COM + Applications” and select “Create” “Application”.

Консоль "Службы компонентов"
Create new COM + application

Next, proceed as follows.

  1. In the wizard that opens, click "Next" and, when in the next window we are offered an option to choose, click "Create a new application".
  2. In the corresponding line, we assign a name to the new application, which will be understood not only by us, but also by other users during further work, for example, 1CV8_ComConnect. Here we select the activation method - “Server Application”.

    Выбираем способ активации 1CV8_ComConnect
    Enter the name of the new application 1CV8_ComConnect
  3. Now we carry out the certification procedure. In the “Specified User” field, using the “Browse” function, we are looking for an account under which we will run 1C version 8.3 server. (For example, we denote it as User1CV83).
    Удостоверяем приложение
    We look for the user by means of the Review function

    Окно выбора учетной записи, под которой будет запускаться сервер
    User specific steps
  4. We skip the procedures offered in the following windows and click the "Finish" button. Master closes.
  5. We return to the “Component Services” window and open the branch of our newly created application. Expand the "Roles" node, in which we click on the CreatorOwner item. PCM click on the line "Users" and create a new user. Again, select the account under which the 1C server will be launched (this is the same User1CV83, which was discussed above).
  6. Go to the application branch 1CV8_ComConnect and click RMB on the node "Components". Create a new component.
  7. In the wizard that opens, make a selection of the item “Installing new components” and, when the following window appears, define the dll library we need (it is located on the path C: \ Program Files (x86) \ 1cv81 \ bin \). We complete the work of the Master.
  8. We have a component 1CV81.ComConnect.1. We click on it with PKM and open the item “Properties”. In the “Security” tab we find the list of “Roles explicitly set for the selected objects” and check the box opposite CreatorOwner.

It may be useful for you: Detected a violation of the integrity of the system in 1C what to do .

We reviewed the connection to the database from the 1C: Enterprise version 8.3 program. If you plan to establish a connection with the database 8.1 from version 1C 8.2, then you need to add a new user. Роли → CreatorOwner Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.2. Go to the path 1CV8_ComConnect Roles CreatorOwner Users and add a new account User1CV82, under which will be launched 1C version 8.2 server.

If you calmly and carefully follow the algorithm, the correction of the error will actually be simple and fast. Due to the above actions, the program 1C versions 8.2 and 8.3 will be able to apply for information to the comcntr.dll library and the error "2147221164 (0x80040154): Class is not registered" will no longer occur.

How do you rate the article?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (No ratings yet)

Add a comment

Your email will not be published.