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