Microsoft KB Archive/177394

= How To Troubleshoot Run-Time Error '429' in DCOM Applications =

Article ID: 177394

Article Last Modified on 7/15/2004

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition

-



This article was previously published under Q177394



SUMMARY
Attempting to access a DCOM Server from a remote client application sometimes results in the following error:

Run-time error '429':

ActiveX component can't create object

This article describes the most common scenarios in which this error is raised.



MORE INFORMATION
The following is a list of possible causes of Run-time error 429. It is by no means a complete or definitive list. For additional troubleshooting steps, see the following article in the Microsoft Knowledge Base:

269330 How To Troubleshoot DCOM for Visual Basic Client/Server Applications

Problem with Server Run Location
This scenario applies to Microsoft Windows 2000, Windows NT, Windows 95, Windows 98, and Windows Me servers.
 * 1) On the Server machine, run the DCOM Config utility (Dcomcnfg.exe).
 * 2) Select the DCOM Server from the Applications tab and choose the Properties button.
 * 3) Select the Location tab.
 * 4) Ensure that the Run application on this computer setting is checked.

Incorrect Server Specified in Client Registry
On the client machine, use the following steps to verify that the DCOM Server machine is properly delegated. This scenario applies to Windows 2000, Windows NT, Windows 95, Windows 98, and Windows Me clients.


 * 1) On the client machine, run the DCOM Config utility (Dcomcnfg.exe).
 * 2) Select the DCOM Server from the Applications tab and choose Properties.
 * 3) On the General tab, be sure that there is an entry for Remote Computer and that the remote computer name is correct.
 * 4) If the computer name is incorrect, select the Location tab.
 * 5) Ensure the Run application on the following computer setting is checked. In the dialog box beneath this selection, type in the correct computer name for your DCOM Server.

You can also use the following steps to verify the remote computer name by using the Windows Registry:  Run RegEdit.exe.  The remote server name is specified in the following registry key:      HKEY_CLASSES_ROOT\ APPID\ {The CLSID of the DCOM Server}\ RemoteServerName 

Enable Remote Connections is Disabled
On Windows 95, Windows 98, and Windows Me servers only, you must be sure remote connections are enabled in order for a remote application to get access to and execute a serving application. Use one of the following series of steps to perform this task:

Series 1:


 * 1) Run DCOM Config (Dcomcnfg.exe).
 * 2) Select the Default Security tab.
 * 3) Select the Enable remote connection check box.

Series 2:  Run RegEdit.exe.  Locate the following registry key:      HKEY_LOCAL_MACHINE\ Software\ Microsoft\ OLE\ EnableRemoteConnect  Ensure the EnableRemoteConnect value is set to "Y" for Yes.</li></ol>

Remote Component not Started
On Windows 95, Windows 98, and Windows Me servers only, the DCOM Server application must be started before a remote client can access it. DCOM Server applications on Windows NT and Windows 2000 servers do not have this limitation.

Binary Compatibility is Broken

 * 1) Open the DCOM Server project.
 * 2) From the Project menu, choose the project Properties.
 * 3) On the Component tab, ensure that Binary Compatibility is selected.

If Binary Compatibility is not set, a new GUID (a.k.a ClassID) is not created each time the DCOM Server project is compiled. If you do not recompile the Client application after a new GUID is assigned, the DCOM clients break.

Use the following steps to resolve this issue:
 * 1) Set the DCOM Server project to Binary Compatibility.
 * 2) Recompile both the Server and Client application. In the future, if you make any interface changes to your DCOM Server that might break compatibility, the Visual Basic compiler warns you that the component is no longer binary compatible. If you proceed to compile the DCOM Server, thus breaking compatibility, you must recompile any client applications that refer to that server. For more information about compatibility see the REFERENCES section below.

<div class="references_section">