BUG: Error '80080005' with 16-Bit Remote Automation Clients

Summary

Accessing a property or method of a dependent and remotely served object from a 16-bit client may cause error '429' or error '-2146959355' (hex 80080005). This error occurs on machines on which remote automation was set up by installing Visual Basic 4.0, 16-bit. If the Setup Wizard is used to generate a setup program for the 16-bit client, the problem does not occur.

Cause

Visual Basic 4.0, 16-bit, does not register Autprx16.dll correctly during installation. This DLL is used by 16-bit clients running on 32-bit operating systems. Setup programs generated by the Setup Wizard perform the registration successfully. In addition, 16-bit clients running on a 16-bit operating system use Autprx.dll and do not have this problem, because the Visual Basic 4.0 installation correctly registers Autprx.dll.

Status

Microsoft has confirmed this to be a issue in the products listed above. We are researching the problem and will post more information in the Knowledge Base as it becomes available.

Workaround

To enable dependent object access for 16-bit clients, manually register Autprx16.dll. The program Regsvr.exe, which is included with Visual Basic (in the Tools\PSS subdirectory), can be used to accomplish this.


To register the DLL, use this command line:

regsvr.exe autprx16.dll

More Information

Steps To Reproduce

  1. Create and compile an OLE server that exposes an externally creatable object that contains dependent object(s). The Invoice server example that is outlined starting on page 32 of the Creating OLE Servers section of the Professional Features Guide demonstrates the problem.


  2. Create a client program that uses the OLE server written in step 1. The code at the bottom of page 34 of the Creating OLE Servers section creates a new Invoice object and executes code that will reproduce the problem.
  3. Remote your server by placing it on a separate machine and using the supplied tools (RacMan, CliReg) to configure your server and client for remote automation.
  4. Execute a line of code that accesses a property or method of a dependent object. The appropriate error detailed above will be displayed. Registering Autprx16.dll should fix the problem.
プロパティ

文書番号:142291 - 最終更新日: 2003/01/09 - リビジョン: 1

フィードバック