BUG: DLLHOST.EXE Causes an Error with RPC_C_AUHN_LEVEL_NONE

ID: Q171359

The information in this article applies to:

SYMPTOMS

Dllhost.exe is the system-provided surrogate that is used by a COM DLL (in- process) server to run in its own separate process. When the default (machine-wide) authentication is set to None on Windows NT 4.0, an error occurs during the launching of Dllhost.exe and it terminates. The client's creation API gets a CO_E_SERVER_EXEC_FAILURE error. This error does not occur under Windows 95.

CAUSE

This is caused by a bug in the security initialization for Dllhost.exe.

RESOLUTION

Set the machine-wide COM authentication level to a value other than None to resolve this problem. You can use the DCOMCNFG utility to change the machine-wide authentication level. If the machine-wide authentication level must be None, then you can use a custom surrogate instead of Dllhost.exe.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps to Reproduce Behavior

1. Use DCOMCNFG to set the machine-wide authentication level to None. To do

   this, run Dcomcnfg.exe, select the Default Properties tab and from the
   Default Authentication Level list box choose None. Click OK.

2. Run OLEVIEW and select any in-process DLL server object. Select the
   Implementation tab, and select the Use Surrogate Process check box.
   Select the Registry tab (this will add the DllSurrogate named value
   under the AppID key). From the OLEVIEW menu, choose
   Object...CoCreateInstance flags, select CLSCTX_LOCAL_SERVER and deselect
   all other items.

3. Instantiate the object from OLEVIEW. You will get the error message.
Keywords          : LeTwoCom LeTwoDCom 
Version           : 4.0
Issue type        : kbbug

Last Reviewed: July 17, 1997