How To Troubleshoot Run-Time Error '429' in DCOM Applications (177394)



The information in this article applies to:

  • Microsoft Visual Basic Professional Edition for Windows 5.0
  • Microsoft Visual Basic Professional Edition for Windows 6.0
  • Microsoft Visual Basic Enterprise Edition for Windows 5.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0

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:
  1. Run RegEdit.exe.
  2. 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:
  1. Run RegEdit.exe.
  2. Locate the following registry key:
          HKEY_LOCAL_MACHINE\ 
             Software\ 
                Microsoft\ 
                   OLE\ 
                      EnableRemoteConnect
    					
  3. Ensure the EnableRemoteConnect value is set to "Y" for Yes.

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.

REFERENCES

For additional information, please click the article numbers below to view the articles in the Microsoft Knowledge Base:

161137 How To Use Project and Binary Compatibility

176799 INFO: Using DCOM Config (DCOMCNFG) on Windows NT

193143 BUG: DCOM Client Hangs and Then Gives Error 429

266717 How To Create a DCOM Client/Server Application by Using Visual Basic

267836 How To Create a DCOM Client/Server with Events by Using Visual Basic

268550 How To Use Dcomcnfg for a Visual Basic DCOM Client/Server Application

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


For more information, refer to the following book:

Modification Type:MinorLast Reviewed:7/15/2004
Keywords:kbDCOM kbhowto kbtophit KB177394