BUG: Remote COM Calls Fail Because RPCSS Is Not Started

ID: Q165300


The information in this article applies to:


SYMPTOMS

On Windows 95 computers that have enabled remote connections to COM servers running on the computer, remote connection attempts to the machine fail with error RPC_SERVER_UNAVAILABLE if the only registered class objects are from single-threaded apartments.


CAUSE

The problem occurs because RPCSS.EXE(A system component) is not launched at the appropriate time.


RESOLUTION

You can work around this problem by pre-launching Rpcss.exe before any class objects are registered. A convenient place to do this is in the registry at HKLM\Software\Microsoft\Windows\CurrentVersion\Run (launches when the shell loads) or \RunServices (launches immediately upon machine boot, that is, before login). Add a named value (any name) and a value of "RPCSS.EXE".


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

Rpcss.exe is not needed for local communication between COM objects, thus COM delays loading it until it is truly necessary. COM is able to launch Rpcss.exe correctly if:

However, Rpcss.exe is not launched reliably when a manually-started single- threaded apartment (STA) server is the first caller of CoRegisterClassObject.

Note that in server scenarios, COM only launches RPCSS if EnableRemoteConnection is set to Y.

There are other reasons a client application may not be able to communicate with a remote object: You can determine whether an observed failure is caused by failure to launch Rpcss.exe by either checking whether the RPCSS process is running or manually starting Rpcss.exe before launching the server process.

Additional query words:


Keywords          : kbSDKWin32 LeTwoDCom 
Version           : 
Platform          : 
Issue type        : kbbug 

Last Reviewed: July 23, 1999