Microsoft KB Archive/170832

= BUG: Microsoft Transaction Server Reports Error 80004002 =

Article ID: 170832

Article Last Modified on 5/6/2001

-

APPLIES TO


 * Microsoft Transaction Services 1.0
 * Microsoft Visual C++ 5.0 Enterprise Edition
 * Microsoft Visual C++ 5.0 Professional Edition

-



This article was previously published under Q170832



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
  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.  Save the new file as Oleaut.reg. 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.

<div class="references_section">