DOCUMENT:Q142291 18-FEB-2000 [vbwin] TITLE :BUG: Error '80080005' with 16-Bit Remote Automation Clients PRODUCT :Microsoft Visual Basic for Windows PROD/VER:WINDOWS:4.0 OPER/SYS: KEYWORDS:kbbuglist ====================================================================== ------------------------------------------------------------------------------- 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 2000.