Microsoft KB Archive/193143

= BUG: DCOM Client Hangs and Then Gives Error 429 =

Article ID: 193143

Article Last Modified on 2/24/2004

-

APPLIES TO

 Microsoft Visual Basic 6.0 Enterprise Edition, when used with:  Microsoft Windows NT 4.0

 Microsoft Windows 2000 Standard Edition 

-



This article was previously published under Q193143



SYMPTOMS
When running an ActiveX EXE Server created through DCOM on a Windows NT or Windows 2000 machine, the client may hang for approximately 2 minutes and then generate a run-time error:

'429' - "ActiveX component can't create object".



CAUSE
This is caused by the ActiveX EXE Server trying to write to a registry key that the User Account the DCOM Server is running under does not have permissions for.



RESOLUTION
The workaround to this problem is to set the permissions to the given registry key so that the User Account running the DCOM server has full control or, at least, setting and querying rights.

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

Allowing Full Control on the Given Registry Key
  Open the REGEDT32 tool and select the registry key below: <pre class="fixed_text">     HKEY_CLASSES_ROOT \CLSID \{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}

</li> Select "Permissions" from the "Security" menu.</li> Click the "Add" button and give "Full Control" for each DCOM client user account that will need to access the DCOM Server.</li></ul>

Allowing Setting and Querying Rights on the Given Registry Key
  Open the REGEDT32 tool and select the registry key below: <pre class="fixed_text">     HKEY_CLASSES_ROOT \CLSID \{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}

</li> Select "Permissions" from the "Security" menu.</li> Click the "Add" button and give "Special Access" for each DCOM client user account that will need to access the DCOM Server. In the Special Access window, select the Set Value and Query Value boxes.</li></ul>

Who Needs to Have Access Rights to This Key?
The users you need to give access rights on the key mentioned above depend on your Identity setting in DCOMCNFG, as explained below:


 * The Launching User:

If your server will run under the context of the Launching User, you will need to grant rights to each user account that will need to access your DCOM server.
 * This User:

If your server will run under a specific User Account, you need to grant access only to this user.
 * The Interactive User:

If your server will run under the Interactive User account, you need to grant access to the Interactive User.

NOTE: When the identity is set to This User, DCOMCNFG will add This User to the list of accounts with rights to "Log on as a Batch Job." In a very specific situation, this may not happen. This is a known bug in DCOMCNFG. If you are under this situation, you should add this account manually using the "User Manager" Administrative Tool for NT. From the Policies Menu, select User Rights, check the "Show Advanced User Rights," select the "Log on as a Batch Job" option, and add the required user to the list.

<div class="status_section">

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

<div class="moreinformation_section">

MORE INFORMATION
You may also note that the ActiveX EXE server process is launched and running on the Windows NT or Windows 2000 system during this 2-minute timeout period. The CPU utilization for this process will most likely be close to 100 percent. At the end of the 2-minute period, the Server process will go away.

<div class="references_section">