System error & H80004015 (-2147467243). The class is configured to run as a security identifier other than the caller

When you try to debug a VB dll using Visual Studio 6.0, I get the following error. Can you tell me what needs to be done for this?

System error and H80004015 (-2147467243). The class is configured to run as a security identifier other than the caller

+4
source share
3 answers

I had the same problem.
I created several ActiveX DLLs and put the binaries in a COM + application that runs under a specific account (not mine). Then I use these components inside the ASP script pages using Server.CreateObject (). If I load the source code into VB for debugging and try to run it ("Start with full compilation"), I get this error message. The reason for this is that the account registered in the COM + application is different from my account with which I am trying to start. The solution for this particular case is to turn off the COM + application and remove the components. After debugging is complete, compile the DLL set and return them to the COM + application.

I hope this helps someone :-)

+5
source

My solution was to not refer to the dll in the Visual Basic project ( Project Menu -> References ), close the dialog box and refer to it again. I started the project and everything works again. I did not need to edit the Windows registry.

+1
source

There is a knowledge base article that seems to be applicable to your situation:

PRB: system error message "& H80004015" when starting ActiveX DLL in Visual Basic

Reason: When Visual Basic starts the ActiveX DLL from the IDE, it calls the CoRegisterClassObject application programming interface (API) to temporarily register the server. This creates an AppId and indicates that it starts in the context of the interactive user.

This problem occurs because of an error in Microsoft OLE Libraries 4.0 that are included with the software developer kit for the Microsoft Platform (SDK). CoRegisterClassObject fails with the error message that is listed in the "Problem" section of this article under the following conditions:

  • If the ActiveX server calling the API is configured to start using the interactive user ID.

    th -

  • The string associated with the following registry key contains any value other than one valid executable file name for the shell process:

     HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell= 

    In Microsoft Windows 2000, this error occurs when the certificate authority service does not start.


Resolution: Verify that the HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell= registry key contains one valid executable name for the shell process.

To solve this problem in Windows 2000, you can install the Client for Microsoft Network component and then reboot.

0
source

Source: https://habr.com/ru/post/1346920/


All Articles