BUG: Microsoft Transaction Server Reports Error 80004002

Last reviewed: October 10, 1997
Article ID: Q170832
The information in this article applies to:
  • Microsoft Transaction Server, version 1.0
  • Microsoft Visual C++, 32-bit Editions, version 5.0

SYMPTOMS

Certain custom proxy-stub DLLs may corrupt the registry keys for Oleaut32.dll while being unregistered. After this corruption has taken place, Microsoft Transaction Server does not run correctly. Instead, it reports the following error:

   An error occurred accessing components in the System package on this
   computer. Error code was 80004002. Make sure that:
   + Microsoft Transaction Server is installed correctly.
   + If you have set a specific identity for the System package, the user
   and password are correct.

Reinstalling Microsoft Transaction Server does not correct this problem.

CAUSE

A bug in the MIDL compiler produces proxy-stub DLLs that corrupt the registry, destroying information about Oleaut32.dll. This DLL is required for Microsoft Transaction Server Explorer to function correctly.

To check whether you are being affected by this bug, run Regedit and check the following key:

   HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-
   000000000046}\InprocServer32.

You should see that this key has a value of "Oleaut32.dll." If this key is blank instead, your registry has been corrupted, and you will need to follow the directions given in the RESOLUTION section of this article.

RESOLUTION

  1. Open a new file in Notepad and add the following lines:

          REGEDIT4
    

          [HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-000000000046}]
          @="PSOAInterface"
    

          [HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-
          000000000046}\InprocServer]
          @="ole2disp.dll"
    

          [HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-
          000000000046}\InprocServer32]
          "ThreadingModel"="Both"
          @="oleaut32.dll"
    

    NOTE: Make sure that that the complete key name, starting with [HKEY_... and ending with InprocServer32], is on one line.

  2. Save the new file as Oleaut.reg.

  3. In Windows NT Explorer, double-click the Oleaut.reg file. Doing this makes the necessary corrections to the registry. Microsoft Transaction Server will now function correctly.

STATUS

Microsoft has confirmed this to be a problem in Transaction Server 1.0 and Visual C++, 32-bit Editions, version 5.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

This corruption is often produced when you drag and drop a DLL with a custom proxy-stub from Windows NT Explorer into Microsoft Transaction Server Explorer.

REFERENCES

For more information, visit the following Web sites:


Additional query words: mts
Keywords : kbenv TSrvVC
Version : 1.0 5.0
Platform : WINDOWS
Issue type : kbprb
Solution Type : Info_Provided


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.

Last reviewed: October 10, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.