Support page for SetupAPI Logging: suplog.exe

Current Version: Version 1.01, 4-January-2003

Suplog.exe and its source code may be freely distributed under the terms of the "Artistic License" (see license.txt in suplog-src-1_01.zip for details). The latest version is available on the downloads page.

This utility aims to simplify the capture and display of SetupAPI logs. SetupAPI logging is supported on Windows 2000, Windows XP, and .NET Server platforms only. During device installation or removal many SetupXxx and SetupDiXxx functions are called by device manager. If appropriate options are set in the registry these functions will generate a log of the actions taken. This can give a device driver developer important information about the execution of directives in an INF file and the execution of co-installers. For more information on what the SetupAPI logging facility is, and examples of how it is interpreted, consult the Microsoft online documentation: Windows Setup and Device Installation Logging and Using SetupAPI Logging.

Suplog.exe is a dialog-based application. A screenshot is shown below. The left-hand column of the dialogbox has radio buttons and checkboxes for setting the LogLevel. This controls how verbose and which variety of SetupAPI functions are to be traced (SetupXxx and/or SetupDiXxx). Once the desired options are selected, simply click the the "Set logging level" button for changes to be written to the registry*. Note that the option for sending output to a debugger (and the log) is useful even without a debugger running, since a tool like DebugView (from SysInternals) can be used to view the logging trace.

*(Each process that uses an instance of setupapi.dll, will not "see" logging level changes until the process is terminated and restarted. A service which uses setupapi.dll, will not see the changes until it is stopped and restarted - this may require a reboot.)

Screenshot.jpg (44K)

The right-hand column of the dialogbox has shortcut buttons for performing common actions:
  • viewing the log file (in whatever app is associated with ".log")
  • reset the log file (delete it)
  • revert to the default logging settings

    (Note that the Window title shows the current Windows version, build, and service pack.)

    Please send any comments and suggestions to SourceQuest feedback.