BUG: Microsoft Transaction Server Reports Error 80004002

ID: Q170832

The information in this article applies to:

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

Last Reviewed: October 11, 1997