Error message when a CGI program that is written by using the .NET Framework 2 makes Web service calls: "System.ArgumentException: Illegal characters in path"

Article translations Article translations
Article ID: 922780 - View products that this article applies to.
Expand all | Collapse all


Consider the following scenario. A Common Gateway Interface (CGI) program is written by using the Microsoft .NET Framework 2. The CGI program is running on Microsoft Internet Information Services (IIS) 6.0. When the CGI program makes Web service calls, the CGI program fails. Additionally, you receive the following exception error message:
System.ArgumentException: Illegal characters in path


This problem occurs because IIS 6.0 starts CGI processes with the \\?\ path prefix to prevent path canonicalization attacks. Certain components of the .NET Framework 2 cannot handle such paths correctly.


To work around this problem, follow these steps:
  1. Click Start, click Run, type inetmgr, and then click OK.
  2. In the left pane, expand the computer_name, and then expand Web Sites.
  3. Right-click the Web site that hosts the CGI program, and then click Properties.
  4. Click the Home Directory tab, and then click Configuration.
  5. Click the Mappings tab, and then click Add.
  6. Click Browse, locate and then double-click the CGI program executable file.

    Note After the path appears in the Executable box, click in the Executable box to initialize the path.
  7. In the Extension box, type .exe, and then click OK three times.


Article ID: 922780 - Last Review: August 5, 2006 - Revision: 1.2
  • Microsoft .NET Framework 2.0
kbprb kbtshoot KB922780

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from