Article ID: 156755 - Last Review: June 23, 2005 - Revision: 1.1

Unable to Use Standard Program I/O in PERL Script

This article was previously published under Q156755
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:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx (http://www.microsoft.com/technet/security/prodtech/IIS.mspx)
Expand all | Collapse all

SYMPTOMS

You are unable to use standard programming I/O methods to pass arguments and/or data to and from external command or separate PERL Scripts that are spawned from a parent script.

CAUSE

When you spawn a script or external command from a CGI application, it is created in a separate process. By default Microsoft Internet Information Server (IIS) 2.0 does not create a console and does not support standard I/O redirection between processes.

RESOLUTION

To resolve the problem, edit the registry as described below.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.
  1. Start Registry Editor (Regedt32.exe) and locate the following registry subkey in the HKEY_LOCAL_MACHINE subtree:
          \SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
    
    					
  2. Click Add Value on the Edit menu.
  3. Type the following:
          Value Name: CreateProcessWithNewConsole
          Data Type: REG_DWORD
          DateValue = 1
    
    						
    NOTE: Creating a new console for each CGI script has serious performance implications and should not be done unless slower performance is acceptable.

MORE INFORMATION

For additional information about supported registry parameters, please see the Online documentation for IIS 2.0. Go to the product documentation link and choose Chapter 10 from the contents page then Service Specific Registry Entries with Common Names. Search on CreateProcessWithNewConsole.

APPLIES TO
  • Microsoft Internet Information Server 2.0
Keywords: 
kbenv KB156755
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations