KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q142291: BUG: Error ‘80080005’ with 16-Bit Remote Automation Clients

Article: Q142291
Product(s): Microsoft Visual Basic for Windows
Version(s): WINDOWS:4.0
Operating System(s): 
Keyword(s): kbbuglist
Last Modified: 18-FEB-2000

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows, version 4.0 
-------------------------------------------------------------------------------

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.

Additional query words: 4.0 vb4win vb416

======================================================================
Keywords          :  kbbuglist
Technology        : kbVBSearch kbAudDeveloper kbVB400Search kbVB400 kbVB16bitSearch
Version           : WINDOWS:4.0
Issue type        : kbbug

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.