Microsoft KB Archive/155357

From BetaArchive Wiki
Knowledge Base


PERL scripts fail to execute and not load the Advapi32.dll file

Article ID: 155357

Article Last Modified on 3/31/2006



APPLIES TO

  • Microsoft Internet Information Server 1.0
  • Microsoft Internet Information Server 2.0
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 5.1
  • Microsoft Internet Information Services 6.0



This article was previously published under Q155357

We strongly recommend that all users upgrade to Microsoft Internet Information Services (IIS) version 6.0 running on Microsoft Windows Server 2003. IIS 6.0 significantly increases Web infrastructure security. For more information about IIS security-related topics, visit the following Microsoft Web site:

SYMPTOMS

When you run a PERL script with Microsoft Internet Information Server (IIS), you may get the following error:

CGI Error:

The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

Cannot load advapi32.dll.


However, the PERL script will run without errors from the command line without using IIS.

CAUSE

The Advapi32.dll file is used by PERL and in turn, tries to open another DLL in the Microsoft Windows NT System32 directory. If it fails to load the DLL in \System32, Advapi32.dll will also fail to load causing the above error message.

WORKAROUND

The credentials of the IUSR_servername (IIS anonymous account) are used to access the Windows NT System directories. If this account does not have sufficient privileges to a file or directory, PERL or other CGI scripts may fail to execute.

Check the permissions on the Winnt\System32 directory and make sure the IUSR_servername account has sufficient access.

Note Restrict write access permissions for the IUSR_servername account. This restriction will help limit the access anonymous users.


Additional query words: IIS4 IIS5 IIS6

Keywords: kbenv KB155357