This article has been archived. It is offered "as is" and will no longer be updated.
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:
Click Start, click Run, type inetmgr, and then click OK.
In the left pane, expand the computer_name, and then expand Web Sites.
Right-click the Web site that hosts the CGI program, and then click Properties.
Click the Home Directory tab, and then click Configuration.
Click the Mappings tab, and then click Add.
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.
In the Extension box, type .exe, and then click OK three times.