Microsoft KB Archive/308690

From BetaArchive Wiki
Knowledge Base


PRB: Visual Basic 6.0 Pipeline Components Stop Running

Article ID: 308690

Article Last Modified on 10/22/2003



APPLIES TO

  • Microsoft Commerce Server 2002 Standard Edition
  • Microsoft Commerce Server 2000 Standard Edition



This article was previously published under Q308690

SYMPTOMS

If you call a pipeline component that is written in Microsoft Visual Basic 6.0, the pipeline component may not run. In addition, the component does not indicate a failure.

If you use pipeline logging, you may see the following log:

WORKING INSTANCE:

PIPELINE:++ component[0x9] about to be called ProgID: PipeLineRepro.Sample
RootObject:       WriteValue        TestValueToSeeInTheLog           VT_EMPTY       __empty__        VT_I2    1          
PIPELINE:-- component [0x9] returned hr: 0x0, IErrorLevel=1 in 0 milliseconds
 
NON-WORKING INSTANCE:

PIPELINE:++ component[0x9] about to be called ProgID: PipeLineRepro.Sample
PIPELINE:-- component [0x9] returned hr: 0x0, IErrorLevel=1 in 0 milliseconds
                    

CAUSE

This problem occurs because the Visual Basic Pipeline Component Wizard does not properly set the Retain in Memory project property, and this project property is required.

When you do not select the Unattended Execution and the Retain in Memory check boxes, the Visual Basic runtime unexpectedly unloads custom and run-time dynamic-link libraries (DLLs). This causes the computer to stop responding (crash or hang) under some multithreaded scenarios. Some typical scenarios include:

  • Place the ActiveX DLL in Microsoft COM+ or Microsoft Transaction Server (MTS).
  • Call the ActiveX DLL from Microsoft Active Server Pages (ASP) pages.

NOTE: As in many multithreading issues, the symptoms may only manifest themselves under very specific, transient conditions.

RESOLUTION

To resolve this problem, select the Retain in Memory check box in the Visual Basic project properties, and then recompile the DLL.

REFERENCES

For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:

214755 FIX: VB 6 DLL Settings Cause Access Violation During MTS Shutdown


191119 FIX: VB Classes Can Cause IIS to Have Access Violations


243548 INFO: Design Guidelines for VB Components Under ASP


281630 HOWTO: Configure Visual Basic DLL Project Properties to Run in IIS, MTS, or COM+


Keywords: kbprb KB308690