SAMPLE: Using VBCHKW2K to Isolate DLLs Compiled Without Retain In Memory and Unattended Execution (286036)



The information in this article applies to:

  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows DNA

This article was previously published under Q286036

SUMMARY

Numerous problems may arise if you do not select the Unattended Execution (UE) and Retain In Memory (RIM) options when you compile Visual Basic 6 ActiveX .dll files that are targeted for deployment in Microsoft Transaction Server (MTS) or COM+ systems. This includes Visual Basic 6.0 ActiveX DLLs that are designed to be called from Active Server Pages (ASP) pages.

A utility called VBCHKW2K is available from Microsoft Product Support Services that you can use to detect and identify ActiveX DLLs that are explicitly registered within COM+ or running in-process with Internet Information Services (IIS) and that do not have these options enabled. This article provides a link to download VBCHKW2K and information on using the utility.

NOTE: VBCHKW2K is only for use on Windows 2000-based systems.

MORE INFORMATION

The following file is available for download from the Microsoft Download Center:
Release Date: Dec. 11, 2000

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file. The VBCHKW2K.EXE file contains the following file:

VBCHKW2K.EXE77,824 bytes


There are several ways to run the console-based application VBCHKW2K:

In the default mode of operation (no switches used), VBCHKW2K scans all running COM+ packages and all running IIS Web applications. VBCHKW2K then displays a list of all ActiveX DLLs from those processes that were not compiled with the RIM and UE options enabled.

If you use the sc (scan catalog) switch, VBCHKW2K will also scan the COM+ catalog. In this case, VBCHKW2K displays a list of ActiveX DLLs in any COM+ applications that are not compiled correctly.

Finally, you can use VBCHKW2K to scan individual DLLs by specifying the path to the DLL on the command line.

VBCHKW2K Usage Summary

vbchkw2k [ /sc] or [DLL name]

where:

       /sc        - scan IIS (in-process), out-of-process pooled/isolated applications
                    instantiated COM+ components, and COM+ catalog

       DLL name   - scan the specified DLL

       no options - scan IIS (in-process), out-of-process pooled/isolated applications,
                    and instantiated COM+ components

					
Examples:

vbchkw2k
vbchkw2k /sc
vbchkw2k c:\winnt\system32\myvbdll.dll
vbchkw2k 'c:\program files\my program\myvbdll.dll'

						

REFERENCES

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

264957 BUG: VB DLL Has Memory Leaks and Crashes in COM+ if 'Retain in Memory' Not Set

241896 PRB: Threading Issues with Visual Basic 6.0 ActiveX Components


Modification Type:MinorLast Reviewed:8/9/2004
Keywords:kbdownload kbfile kbinfo KB286036