Microsoft KB Archive/190175

= BUG: MTS is Unable to Delete VB6 Project Compatible Server =

Article ID: 190175

Article Last Modified on 5/12/2003

-

APPLIES TO


 * Microsoft Visual Basic 6.0 Learning Edition, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft Visual Basic 6.0 Professional Edition, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft Visual Basic 6.0 Enterprise Edition, when used with:
 * Microsoft Windows NT 4.0

-



This article was previously published under Q190175



SYMPTOMS
If a Visual Basic ActiveX component is added to Microsoft Transaction Server (MTS) Explorer, and then the project name is changed and the project is recompiled with Binary Compatibility or Project Compatibility, MTS marks the component as.

At this point, trying to delete the component in MTS Explorer fails with the following error message:

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



CAUSE
In Visual Basic, setting Project Compatibility does not change the CLSIDs, specifically the CoClass GUID. Only the IID changes. This is a change from Visual Basic 5.0 where the CLSID did change.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.



Steps to Reproduce Behavior

 * 1) Start a new ActiveX DLL project in Visual Basic.
 * 2) Select Project Properties from the Project menu, and change the Project Name to PLC1.
 * 3) Select Make PLC1.dll from the File menu.
 * 4) In MTS Explorer, highlight "Packages Installed" and select New from the File menu. Click the icon to create an empty package and name it MyPackage.
 * 5) Click Next, and then Finish.
 * 6) Expand "Packages Installed" and then MyPackage, highlight Components and select New from the File menu. Click the icon to import components that are already registered. Select PLC1.Class1 from the list and click Finish. PLC1.Class1 is now added to MyPackage.
 * 7) In Visual Basic, select PLC1 Properties from the Project menu, and choose the Component tab. Set Version Compatibility to Binary Compatibility with PLC1.dll.
 * 8) Choose the General tab, and change the Project Name to PLC2.
 * 9) From the File menu, select Make PLC1.DLL to compile again and replace the existing DLL. A message box regarding incompatibility will be received.
 * 10) Press OK and Continue to accept the Incompatibility message.
 * 11) Return to MTS Explorer, highlight the package containing PLC1 component, and select Refresh under the View menu. An error is received informing you that the Component's ProgID is invalid. After pressing OK the Component becomes .
 * 12) Try to delete the  component from the package. The error mentioned in the Symptoms section above occurs and the component does not get deleted.

Keywords: kbbug kbmtsexplorer kbpending kbcompiler KB190175

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.