My development machine is running IIS5.0 on Windows 2000 Professional. I am employing a CGI executable (mapserver.exe, written in C) in a website. This programme creates a map as a PNG image from database input and returns a url for the image. A few months ago, I finished developing the website to my satisfaction and moved it to a production server that runs IIS5.0 on Windows 2000 Server.
A few weeks ago I had a hard-drive crash that necessitated getting a new machine for development. I thought I had it set exactly as it had been on the old machine, but I am getting a weird error. When the website is called for the first time, the CGI does exactly what it is supposed to do (create a map). But the next time is is called (for example, by zooming in on the map) it returns "CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:". If I hit "refresh", it returns to the start, i.e. the first map it drew; but every so often, about once in every four times, hitting refresh will take me to the new map, the one most recently requested. In short, the CGI call works first time every time, but only some of the calls within the same session are working. The code invoking the CGI call is identical to (copy-and-paste) the code on the production machine, which works perfectly every time.
Of course, I originally thought it was a problem with the CGI setup, but I have exhaustively compared it to the working version on the production machine and I don't think this is the problem. I have set permissions for IUSR and IWAM identical to the production machine.
Is there anything else I can try to get the CGI to work on my development machine?
One other thing, but I don't believe this is a factor: the development machine has .NET, the production machine has not. Thanks for any help you can render.