Rouge DLL files in windows system folders will cause the webagent to fail.

Document ID : KB000052514
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Introduction:

On the Windows operating system rogue DLL's placed in any of the windows system folders can cause the webagent to fail on startup.

When using IIS this often results in "Unable to load HTTPPLUGIN.DLL" been logged, on apache the server hangs with no message. On all web servers this results in a fatal error that prevents loading of the webagent.

If a webagent on a windows system fails to start and no information is logged this is most likely your problem. However this only applies to windows based systems.

Why this happens:

This happens because the Windows operating system uses a hard-coded search routine to locate all DLL files. The search order uses is as follows...

  1. C:\windows\system32\inetsrv\
  2. C:\WINDOWS\system32\
  3. C:\WINDOWS\system\
  4. C:\WINDOWS\
  5. C:\WINDOWS\system32\inetsrv\
  6. PATH environment variable.

As the path environment variable exists last in the search routine if a DLL exists in any of the windows system folders (Numbered 1 - 5) it will be loaded in place of the DLL located in your \netegrity\webagent\bin\ folder. If the DLL's are of different versions the webagent cannot correctly execute the required function and fails.

Solution:

The following solution will remove problem DLL's from the system folders. Keep in mind that, if these DLL's utilized by another program that application may fail.

Quick remedy:

This problem is most often caused by Comerr32.dll and k5sprt32.dll existing in the windows\system32 folder:

On the server running the webagent:

  1. Open a command prompt.
  2. CD to your windows\system32 folder.
  3. Enter dir Comerr32.dll k5sprt32.dll.
  4. If these files exist rename them.
  5. Restart the webserver.

Detailed Solution:

  1. Open a command prompt.
  2. CD to your netegrity\webagent\bin\ folder on the server running the webagent.
  3. Run dir *.dll /w to list the dll files in the folder.
  4. Open another command prompt (in a separate window).
  5. In the new window to each of the paths listed bellow:
    • C:\windows\system32\inetsrv\
    • C:\WINDOWS\system32\
    • C:\WINDOWS\system\
    • C:\WINDOWS\
    • C:\WINDOWS\system32\inetsrv\
  6. If a DLL exists in both the webagent\bin folder and any of these system paths rename the offending DLL file.
  7. Once you have checked all the windows system paths restart you web server, the webagent should now come up.