KBI 220525 CoInitialize Must Be Called First

Version

ArgSoft Network Discovery Layer DLL

Date

13 Apr 2007

Summary

The SNMP, TCP, FTP and SSH API’s in the Network Discovery Layer DLL depend on various DART Components to be installed.

If they are not, depending on configuration, Windows will pop up a Dialog box that says “CoInitialize must be called first”.

This is a misleading message since CoInitialize has indeed been called at the point of the error, and it is necessary to understand that the Dart Components have not been installed on the machine.

Technical Background

The Dart PowerTCP and PowerSNMP ActiveX products must be installed.

It is possible to determine ahead of time that these products have been installed by looking in the Registry under:

HKEY_CLASSES_ROOT\Dart.TCP

And

HKEY_CLASSES\ROOT\Dart.Snmp* (Various Keys)

Resolution

The following actions can be taken to address this issue:

  1. Verify the Dart Components have been installed.

  2. Install Dart PowerTCP and Dart PowerSNMP if they have not been installed.