PERL scripts fail to execute and not load the Advapi32.dll file (155357)
The information in this article 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 version 5.1
- Microsoft Internet Information Services version 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.
Modification Type: | Minor | Last Reviewed: | 3/31/2006 |
---|
Keywords: | kbenv KB155357 |
---|
|