BUG: Microsoft Transaction Server Reports Error 80004002

ID: Q170832


The information in this article applies to:
  • Microsoft Transaction Server 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.


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:

http://msdn.microsoft.com/support

Additional query words: mts

Keywords : kbenv kbMTS kbMTS100 kbVC500 kbGrpCom kbDSupport TSrvVC
Version : winnt:1.0,5.0
Platform : winnt
Issue type : kbbug


Last Reviewed: November 9, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.