Re: Issue on calling CoRegisterClassObject in service application on Windows Server 2003

From: Dmitrii Zakharov [MSFT] (dmitriiz_at_microsoft.com)
Date: 10/29/03

  • Next message: Michael Goebertus: "Re: Acces to ftp sites"
    Date: Tue, 28 Oct 2003 17:16:44 -0800
    
    

    Hi, Harry,

    I know of only one case when you will see 0x80004015 returned from
    CoRegisterClassObject( ). This happens when you try to register a CLSID that
    has an APPID with RunAs account different from your server's identity. I
    don't know whether this is what happens in your case, but it's only
    explanation I have.

    Now, however, I can explain why you had success in Win2000 and you regressed
    in Win2003:

    In Win2000: any process can register ANY CLSID for a server if it is 1.
    service 2. running now. COM doesn't block the registration in this case.
    This is inherently a bug.

    In Win2003: the bug is fixed. COM blocks incorrect registration ALWAYS and
    you see the error.

    Hope this helps,
    Dmitrii

    "Harry Li" <Hongjiangl@hotmail.com> wrote in message
    news:Oi0RgWBmDHA.2436@TK2MSFTNGP09.phx.gbl...
    > Hi Everyone,
    >
    > I got a problem when running an COM service application on windows Server
    > 2003 machine. It is working fine on windows 2000. Basically, I have this
    COM
    > application can be running as local server or services. It is working
    great
    > when running as local server on Windows Server 2003, but not when running
    as
    > services. It fails when calling CoRegisterClassObject and the return error
    > is 0x80004015, which means "The class is configured to run as a security
    id
    > different from the caller ". I did find some topics on help to get around
    it
    > in the debug mode ( remove the LocalService name value pair from
    > "HKey_class_root\appid\your applicatoin" registry). Even I did this in the
    > release mode, I will get the same error code when registering my COM
    object
    > in the system running table ( Call: IRunningObjectTable::Register()) I am
    > really blocked by this. I really appreciate if any expert can help me on
    > this.
    >
    > Thanks.
    >
    > -Harry.
    >
    >


  • Next message: Michael Goebertus: "Re: Acces to ftp sites"

    Relevant Pages

    • Re: Issue on calling CoRegisterClassObject in service application on Windows Server 2003
      ... what I try to do here is to run multiple COM server instances as ... EXE COM server so that I have to call CoRegisterClassObject to register the ...
      (microsoft.public.windows.server.security)
    • Re: DCOM Error
      ... Did not ask to register server. ... In addition to not finding the CLSID I posted I was unable to ... > "George Hester MVP - IIS" wrote: ...
      (microsoft.public.win2000.general)
    • Re: COM activation models
      ... that calls CoRegisterClassObject - STA or MTA? ... > SERVER PROCESS FOR THE DESIGNATED CLASS. ... > Server processes can register class objects for more than one class. ...
      (microsoft.public.vc.atl)
    • Re: computer browser service wont start
      ... I've noticed that dnsApi is sometimes one of the things that starts early before everything it needs is actually working, e.g. the TCP/IP and network stack. ... In the situations I've seen the Event Log entry from dnsApi that you report, the computer did successfully register itself later. ... This assumes that the targetted DNS server can accept Dynamic registrations and the computer doing the dynamic registration is permitted to do so. ...
      (microsoft.public.windows.server.general)
    • ASP: Get user login ID
      ... But when we register the dll on our web ... server, and call it from our ASP code, it generates an error. ... Dim lngCharsReturned As Long ...
      (microsoft.public.inetserver.iis.security)