Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

System Error &H80004015 (-2147467243). The class is configured to run as a security id different from the caller

Tags:

vb6

When try to debug the VB dll Using Visual Studio 6.0 , I am getting the the following error. Can you any one tell me what needs to be done for this?

System Error &H80004015 (-2147467243). The class is configured to run as a security id different from the caller

like image 749
varadarajan Avatar asked Apr 06 '11 13:04

varadarajan


3 Answers

I have had the same problem.
Created a few ActiveX DLLs and put the binaries into a COM+ Application, which runs under a specific account (not mine). Then I use these components inside ASP script pages using Server.CreateObject(). If I load the source code into VB for debugging and try to run it ("Start with Full Compile") I get this error message. The cause of this is that the account registered in the COM+ Application differs from my own account from which I try to run. Solution for this particular case is to Shutdown the COM+ Application and remove the components. When finished debugging, compile the set of DLLs and put them back to the COM+ application.

Hope someone is helped by this :-)

like image 182
Jeroen Elias Avatar answered Sep 21 '22 23:09

Jeroen Elias


My solution was to unreference the dll in the Visual Basic project (Project Menu -> References), close the dialog box and reference it once again. I ran the project and everything is working again. I did not have to edit the windows registry.

like image 44
Carlos Mtz Avatar answered Sep 17 '22 23:09

Carlos Mtz


There's a knowledge base article that seems to apply to your situation:

PRB: System Error Message "&H80004015" When You Run ActiveX DLL in Visual Basic IDE

Cause: When Visual Basic runs an ActiveX DLL from the IDE, it calls the CoRegisterClassObject application programming interface (API) to temporarily register the server. This creates the AppId and specifies it to run in the Interactive User context.

This problem occurs because of a bug in the Microsoft OLE Libraries 4.0, which are included with the Microsoft Platform Software Development Kit (SDK). CoRegisterClassObject fails with the error message that is listed in the "Symptoms" section of this article under the following conditions:

  • If the ActiveX server that calls the API is set to run by using the Interactive User identity.

    -and-

  • The string that is associated with the following registry key contains any value other than a single valid executable name for the shell process:

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

    Under Microsoft Windows 2000, this error occurs when the Certification Authority service does not start.


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

To resolve this problem under Windows 2000, you can install the "Client for Microsoft Network" component and then reboot.

like image 28
Cody Gray Avatar answered Sep 17 '22 23:09

Cody Gray