Microsoft KB Archive/265340

= How to configure COM Internet Services (CIS) on the client side =

Article ID: 265340

Article Last Modified on 9/28/2005

-

APPLIES TO

 Microsoft COM+ 2.0 Standard Edition, when used with:  Microsoft Windows Millennium Edition

 Microsoft Windows 2000 Standard Edition

 Microsoft Windows NT 4.0

 Microsoft Windows 98 Standard Edition</li></ul>

 Microsoft Windows 95</li></ul> </li></ul>

-

<div class="notice_section">

This article was previously published under Q265340

<div class="notice_section">

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

<div class="summary_section">

SUMMARY
This article describes how to configure Microsoft COM Internet Services (CIS) on the Distributed Component Object Model (DCOM) client. This article is divided into the following sections:
 * When to use CIS
 * Disadvantages of CIS
 * Steps to configure CIS on the client computer
 * Steps to configure MS Proxy Server
 * Troubleshooting

<div class="moreinformation_section">

When to use CIS
For a DCOM application to work, you must use CIS when the client computer is behind a proxy server.

Disadvantages of CIS
CIS includes the following disadvantages:
 * You must configure the client computer to enable CIS.
 * CIS is practically impossible to configure if the DCOM application has callbacks. For example, COM+ applications have implicit callbacks.
 * If there is an existing firewall that protects the DCOM server, CIS requires that you open port 80 to let the HTTP packets through.
 * CIS may not work properly if the DCOM server is a multihomed computer.
 * If the DCOM server is a Windows 2000-based system, and if Tunneling TCP is the only DCOM protocol that is selected at the computer/server process level, CIS requires that the proxy server and the client resolve the DCOM server's computer name.
 * CIS does not work correctly if you enable &quot;TCP/IP Filtering&quot; on the server computer with TCP port filtering.
 * CIS requires that you configure the proxy server to enable the HTTP CONNECT method for the port to which the client connects (or enable SSL tunneling).
 * Performance is slower with CIS than it is when you use DCOM over TCP/IP.
 * CIS uses more network bandwidth.

Steps to configure CIS on the client computer
The following steps are divided into two parts:

Part One contains the specific steps for Windows Me, Windows 98, or Windows 95 client computers and Windows NT 4.0 SP4 or later and Windows 2000 client computers. Part Two continues the steps for all of the clients.

Windows Me, Windows 98, and Windows 95
Note Before you configure CIS on a Windows 95-based computer, you must have DCOM95 version 1.2 or later installed. You can download DCOM95 1.2 from the following Microsoft Web site:

http://www.microsoft.com/com/dcom/dcom95/dcom1_3.asp

Note On a Windows 98-based computer, you must have DCOM98 version 1.3 or later installed. You can download DCOM98 1.3 from the following Microsoft Web site:

http://www.microsoft.com/com/dcom/dcom98/dcom1_3.asp

<ol> Make sure that the client computer has the correct version of DCOM9x installed. To do this, check the following registry key:

HKCR\CLSID\{bdc67890-4fc0-11d0-a805-00aa006d2ea4}\InstalledVersion

The version number is stored under this key in the format &quot;a,b,c,d&quot;, where a, b, c, and d are numeric values that represent the following attributes:

a - major operating system version

b - minor operating system version

c - minor file version

d - major file version

The InstalledVersion for the Web release of DCOM95 1.2 is 4,1,0,2618. The InstalledVersion for the Web release of DCOM95/DCOM98 1.3 is 4,1,0,3328. For more information, including a table of DCOM95 and DCOM98 versions, click the following article number to view the article in the Microsoft Knowledge Base:

235638 DCOM95 and DCOM98 version information

</li> Enable CIS client support. At a command prompt, type CISCNFG tcp_http to run the CISCNFG utility. You can use the following parameters with CISCNFG:

tcp: DCOM over TCP only

http: DCOM over Tunneling TCP only

tcp_http: DCOM over TCP and Tunneling TCP, TCP takes preference

You can download the CISCNFG utility for Windows 95, Windows 98, and Windows Me from the Microsoft Download Center:

The following file is available for download from the Microsoft Download Center:

Download the Dcm9xCfg.exe package now.

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Note Make sure that you download the DCOM9x for Windows 9x configuration utility.</li> To make sure that the correct protocol is set up, check the HKLM\SOFTWARE\Microsoft\Rpc registry key for the DCOM Protocols value. If Tunneling TCP is configured, this value contains ncacn_http; if TCP is configured, this value contains ncacn_ip_tcp.</li> Restart the system for the changes to take effect.</li> Proceed to Part Two.</li></ol>

Windows NT 4.0 SP4 or later and Windows 2000
<ol> CIS support is available on Windows NT 4.0 SP4 or later and Windows 2000 systems. To enable CIS client support, follow these steps: <ol style="list-style-type: lower-alpha;"> At a command prompt, type DCOMCNFG .</li> On the Default Protocols tab, click Add. In the Protocol Sequence drop-down list, click Tunneling TCP/IP. Click OK.</li> In the DCOM Protocols list box, remove any protocols that are not used. Move Tunneling TCP/IP to the top of the list to avoid any activation delays due to protocol negotiation. (If you have multiple protocols configured, DCOM tries to use them in the order in which they appear in this list.)</li></ol> </li> Restart the system for the changes to take effect.</li> To make sure that the correct protocol is set up, check the HKLM\SOFTWARE\Microsoft\Rpc registry key for the DCOM Protocols value. If Tunneling TCP is configured, this value contains ncacn_http; if TCP is configured, this value contains ncacn_ip_tcp.</li> Proceed to Part Two.</li></ol>

Part two
Follow these steps for all of the above-mentioned clients: <ol> If the client is located behind a proxy server, configure the proxy server settings on the client using the Internet Options application in Control Panel to access the Web. Set the correct proxy server address and port.

Make sure that the proxy server address does not contain any prefixes, such as http://. For example, if the proxy server address is myproxy, use myproxy for the address, not http://myproxy.

This value is stored in the following registry key:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer

</li> If the proxy server may be bypassed when trying to reach the DCOM server, make sure that the Bypass proxy server for local addresses check box is cleared in the proxy server settings.

Note The settings in steps 1 and 2 are shared by Remote Procedure Calls (RPC) and other applications such as Internet Explorer.</li> <li>Make sure that the client computer can reach the server computer's default Web site.</li></ol>

Steps to configure MS Proxy Server
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk. <ol> <li>Under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ W3proxy\Parameters\SSLPortListMembers registry key, specify which ports enable HTTP CONNECT. For example, for a default proxy configuration that handles HTTP traffic on port 80, add port 80.

The key value consists of a list of ports in pairs. Two ports are enabled by default: 443(https) and 563(snews). To add port 80, use Registry Editor (Regedit.exe or Regedt32.exe) to add the pair 80 80 to the existing registry values. After you add the pair, the value of the registry key appears as follows:

443 443 563 563 80 80

</li> <li>Turn off proxy server security for HTTP CONNECT as follows: <ol style="list-style-type: lower-alpha;"> <li>Open Microsoft Management Console (MMC) for Microsoft Proxy Server 2.0.</li> <li>Right-click Web Proxy, and then click Properties.</li> <li>In the Web Proxy Service's Property dialog box, on the Permissions tab, clear the enable access control check box, and then click OK.</li></ol> </li> <li>Stop and then restart the Microsoft Proxy Server for the new settings to take effect.</li></ol>

Troubleshooting
<ul> <li>Use the DCOMTEST sample in the following Microsoft Knowledge Base article to troubleshoot:

259011 A simple DCOM client server test application

</li> <li>Use the Netmon utility (or any other utility that captures network traffic) to analyze the traffic for troubleshooting.</li> <li>If the network traffic shows that the DCOM client does not use HTTP as expected, check the DCOM Protocols list on both client and server computers.</li> <li> If CIS still does not work, and the DCOM client receives the &quot;Rpc Server is unavailable&quot; (0x800706ba, RPC_S_SERVER_UNAVAILABLE) error on activation, examine the following:

Windows XP Service Pack 2 and Windows Server 2003
Examine the following registry subkey to determine if the registry subkey contains Internet Explorer proxy settings: <ul> <li> (If the Remote Procedure Call (RPC) service is running as NetworkService)</li> <li> (If the Remote Procedure Call (RPC) service is running as SYSTEM)</li></ul>

CIS will not work on a computer that is running Windows XP Service Pack 2 or Windows Server 2003 without the Internet Explorer proxy settings in the previous registry subkey.

If the Internet Explorer proxy settings do not exist in the previous registry subkey, add the Internet Explorer proxy settings that work for the current user to the previous registry subkey. You can find current user's Internet Explorer proxy settings in the following registry subkey:

Windows NT 4.0
240664 COM Internet Services do not work without ProxyOverride entry

Windows 95 and Windows 98
243220 COM Internet Services do not work without ProxyOverride entry

</li> <li>When you run a DCOM application (such as the DCOMTEST sample) and the DCOM server is running on a Windows 2000-based computer in which the client is behind a proxy server, the activation may succeed, but any method call fails with &quot;Rpc Server is unavailable&quot; (0x800706ba, RPC_S_SERVER_UNAVAILABLE). Make sure that the proxy server can reach the DCOM server computer using its full computer name, such as <computername.domain>.</li> <li>If the activation fails with &quot;Rpc Server is unavailable&quot; (0x800706ba, RPC_S_SERVER_UNAVAILABLE), make sure that the client can reach the default Web site. If the default Web site can be reached, and if the client is behind a proxy server, check whether the proxy server requires authentication for HTTP CONNECT. For CIS to work, you must turn off security on the proxy server for HTTP CONNECT.</li> <li>If the client computer is a Windows 2000-based computer, and you receive the &quot;The object exporter specified was not found.&quot; (0x80070776, OR_INVALID_OXID) error for the activation call, make sure that the client computer and proxy server can reach the DCOM server by using its full computer name, such as <computername.domain>.</li></ul>

For more information about CIS configuration, click the following article numbers to view the articles in the Microsoft Knowledge Base:

224595 DCOM client cannot establish CIS session using TCP/IP address

241104 COM Internet Services causes memory leaks in IIS

228393 BUG: CIS (DCOM Over HTTP) broken in SP4 when tunneling through Microsoft Proxy Server 2.0

234230 PRB: Component Services Administrative Tool incorrectly allows property editing for tunneling TCP/IP protocol

236452 BUG: Component Service Explorer asks for reboot when changing default Launch/Access permission

<div class="references_section">