ID: Q171359
The information in this article applies to:
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.
This is caused by a bug in the security initialization for Dllhost.exe.
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.
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.
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