PRB: System Error Message "&H80004015" Running ActiveX DLL in IDE

ID: Q228487


The information in this article applies to:


SYMPTOMS

While attempting to run an ActiveX dll from the Visual Basic IDE, the following error message is displayed:

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


CAUSE

When Visual Basic runs an ActiveX dll from the IDE, it calls the CoRegisterClassObject API to temporarily register the server. This creates the AppId and specifies it to run in the Interactive User context.

The problem is due to 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 given earlier under the following conditions:

  • If the ActiveX server calling the API is set to run using the "Interactive User" identity.


  • -and-

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


  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell=


    RESOLUTION

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


    REFERENCES

    For additional information about the big described above, please click the article number below to view the article in the Microsoft Knowledge Base:

    Q170364 CoRegisterClassObject Fails with CO_E_WRONG_SERVER_IDENTITY

    Additional query words:

    
    Keywords          : kbole kbActiveX kbInprocSvr kbRegistry kbVBp500 kbVBp600 kbGrpVB kbDSupport 
    Version           : WINDOWS:5.0,6.0
    Platform          : WINDOWS 
    Issue type        : kbprb 

    Last Reviewed: August 12, 1999