HOWTO: Help Me Help You

The following url gives some sage advice to anyone thinking of asking a question in a public forum… Go ahead, read it. It’s a KB article on It’s found on the Internet. It must be true!

Well, in this case, I think that this link is telling the truth. Please do not post to a newsgroup or public forum without reading it. 🙂



*** UPDATE 7/21/2005: Apparently, the link has been taken down for “editorial” reasons. I will relink it when it returns ***

*** UPDATE 7/22/2005: For the time being, it is linked from the comments ***

*** UPDATE 8/29/2005: The KB was republished as 555375, so I have changed the links again

Comments (23)

  1. David.Wang says:

    In the meantime, I copied/pasted it as my own "blog entry" to preserve it. It is located at:

  2. Phil says:

    We installed ServletExec ISAPI for use with ESRI’s ArcIMS map server software. We decided to go with Apache Tomcat servlet engine instead and uninstalled ServletExec. However, the Web Service Extension name "ServletExec" still exists, but the virtual directory it points to has been removed. We need to remove this extension, but cannot figure out how to do it. We have use the iisext /RmFile command, but nothing came of it.

    We are running IIS on Windows Server 2003.

    Any help would be appreciated.

  3. Jim says:

    Hi David,

    For the last couple of days I’ve been trying to solve a problem with corrupted downloads from our server.  I’ve been unsuccessful with the major search engines and solutions (that sound like it might have fixed the problem) haven’t. If you could offer any advice I’d greatly appreciate it.

    Server is Windows 2003 Server (web edition). It’s a fresh intall with the latest service pack and updates applied. IIS 6 is running on it and there’s only one site which uses classic ASP and some .Net. The site worked perfectly on Windows 2000 Server.

    The problem is that IIS6 appears to be corrupting files that are downloaded from it. It seems to be able to handle small files but does *something* to the file after a certain size (which I don’t know yet. So far the lowest test has been 1MB and a high of 15MB for video)

    We first noticed the problem when including a flash video in one of our asp pages. The flash file (swf) calls a flash video on the server (flv). The correct mime-type has been configured for this according to a kb article at Microsoft and Macromedia. Small videos (200k – tested) work fine. Large videos (~4MB – 15MB) play a little as it progressively downloads but suddenly stop. I started to investigate it as a flv/streaming problem.

    However, I had a couple of people telling me that their zipped files were corrupt. (some larger docs/pdfs that were zipped and linked to from an asp page) These files range in size from 1.5MB to 5MB. I   tested the files on the server and they open without a problem. I transfer over the network and they work locally. I try to download them and upon opening them receive a corrupt message. I tried an MD5 hash of the file on the server and the file I receive and the hash is *different*. I’ve read some articles where IIS trucates a response and thought that may be the issue. I then set the AspBufferingLimit in the metabase.xml to a high number to test (500MB) I also set the AspMaxRequestEntityAllowed number to (50MB) because we do have a photo gallery where users can upload there images (5-8MB a picture). None of these changes have helped.  Internet Explorer users just receive an error stating that they cannot download the file – the site is unavailable or cannot be found. Firefox can download the zip files (but they are corrupt). The zip extension is listed as a known mime-type. My thought now is that it’s also related to the large file issue?

    I mentioned the photogallery. Thumbnail images display fine. 640×480 sized images are also fine. The gallery also provides a link to the original picture (usually jpg). These images start to render in a browser and suddenly stop, usually with visual corruption. I’ve noticed this on gif images too, even at 400k in size.

    I’ve looked in the HTTPERR log and examined the web logs looking for a sub-status that would give me a hint of what’s going on. I haven’t found anything useful. I’ve also configured the metabase.xml file to also log to the Event Viewer. Nothing there as well.

    I’ve tried searching for IIS, corrupt download, truncated files, truncated/corrupt response, buffering, and a whole lot of similar terms. I haven’t found anything that has helped fix the problem. I would love this to be a configuration problem with metabase.xml – I just need to know what parameter it is. I’ve downloaded the resource kit, resource guide and looked through the MSDN docs. I don’t even know if I’m searching for the right words or combination of words.

    Do you have any suggestions? This error *is* making me learn a lot more about IIS6, but this problem isn’t getting solved and I think I need some help.

    Thanks so much for you blog. Even if you don’t have time to answer, I am definitely finding it an invaluable resource!!


  4. Pete says:

    Has a solution been found yet..?

    I am having the same problem with a FLV and SWF,

    a 6 meg one seems fine but the 24meg one pretends like it downloads but then nothing.

  5. Svavar orn says:

    Same here.

    I’ve set the AspMaxRequestEntityAllowed and AspBufferingLimit to 1GB, there is : "1073741824"

    Then I’ve restarted the IIS service, and also enabled the "Direct Metabase Edit" option, and still cannot download 150MB file, e.g. ZIP.

    Any help would be very very apriciated.

    Thanks alot.

    Svavar O

    Reykjavik – Iceland

  6. djlins says:

    I have to add to this, it is quite a frustrating problem. I use IIS6 and win2003 and when I upload a JPG to the server I can remote connect to the server and the JPG displays fine, however when I download the file and select save to my hard drive, it is then corrupted and cannot display. I do have something else to add to the information here, and that is that the actual file size is changed. The actual file seems to be a different amount of Bytes to the original. I did swap around the compression settings on

    IIS->SERVER->Web Sites->Properties->Services but that didnt make any difference. If anyone has any ideas on this I would sure appreciate it.



  7. David.Wang says:

    Jim, Pete, Svavar orn, jilins – Hmm… I think the IIS "issue" which you are experiencing have nothing to do with IIS. The reason is because I can download the 272MB XPSP2.EXE file from IIS, both with and without static file compression enabled, with Firefox or IE6, against the IIS6 Static File Handler (which should also be used for JPG, FLV, and SWF file types by default), and the downloaded file exactly matches the original. This is pretty much what you all say you cannot get, so my evidence disproves your theory.

    Of course, when talking about IIS and corrupted/truncated download, you have to determine WHAT HANDLER handled the request in question since that handler does the actual download streaming. The following determine the validity of the download from an IIS perspective:

    1. The handler that handles making the download

    2. Any ISAPI Filters involved on the request

    Now, IIS6 does not use ISAPI Filters, and I have given proof that if the IIS6 Static File Handler handled the request, there is no corrupted/truncated download of large or small file sizes.

    This means that what you are seeing is likely caused by some non-IIS entity. Here are some thoughts:

    Maybe you have an ISAPI Filter installed or a wildcard Application Mapping handling the request download (such as configuring ASP.Net ISAPI as a wildcard Application Mapping), and that ISAPI has a problem with large files. Or maybe you are using ASP to stream the file and your ASP page has a bug or has AspBuffering enabled incorrectly (you do not want to buffer responses when sending large files since it forces ASP to consume that much memory on the server prior to sending it over the network, which is a waste of memory).

    You may have intervening network proxy/router/etc which may mangle responses past a certain size. I have certainly seen instances where a network proxy will corrupt the response if it had certain request/response headers and the response was larger than a certain size. IIS6 was doing the right thing, but the client still saw a corrupt download, and so the customer swore it was an IIS6 corruption until we proved it was the network proxy.


  8. Mike says:

    How do I enable a user to have scheduled tasks access on Windows Server 2003. I have attached this user to the Power Users, Remote Desktop Users and Users groups.

  9. David.Wang says:

    Mike – It works fine from scheduled tasks – what user privilege(s) does your application require?


  10. Billy says:


    I don’t know if you ever resolved the issue, but since you are using IIS 6.0, you may want to consider checking your MinFileBytesPerSec setting. You may need to increase to number, or just disable it all together. The website below provides instructions…

  11. GB says:

    Just in case anyone stumbles across this forum as I did, we finally found a fix for the issue we were having … on production, our web.config was set to debug=false, which causes a script timeout after 90 seconds. Setting to true or extending the timeout did the trick. Thanks.

  12. lakshmi says:

    i am not able to start the websites and also application pools..

    the eventviewer has error in application says sharepoint error how to rectify it

  13. lakshmi says:

    i am not able to start the websites and also application pools..

    the eventviewer has error in application says sharepoint error how to rectify it

  14. Ananamous says:

    I am an Excel user and just bought a Microsoft keyboard 4000 (ergonomic).

    The "F2" key states "undo".  How in the world do I edit my documents like so many Excel users do, there is nothing clear in the CD or on the web with Microsoft until I get blue in the face and give up.

    Any help I would appreciate.


  15. Rob says:


    Wonder if you could help we have IIS 6.0 windows server 2003 standard edition.  Through a IE browser on the local machine I run a .net application, which connects to an oracle database and runs queries.  Some queries can run for a long time.  On the server it times out after 1 hour (not ideal but not the main issue at the moment).  If I open a browser on my own machine and run the same query it times out after 10 minutes! This is the main issue as the majority of queries take 20-30 minutes to run



  16. David.Wang says:

    Rob – that does not sound like an issue related with IIS. Connection timeout happens when the server OR the client OR any intervening network device(s) decide to close the connection — any one of them can close the connection first.

    So, it doesn’t matter if you configure the server to timeout in 60 minutes — the client may choose to timeout in 15 minutes and so when that client makes a request to your server, requests timeout in 15 minutes.

    Now, you say you run a .Net Application through an IE Browser — that does not make sense because a .Net Application either runs on the IIS server, like browsing to an ASP.Net page, or it is downloaded by the browser and run on your local machine, at which point it may not be talking to the IIS server. Once again, these are possible differences in client/server involved in your Timeout observation.

    Until you clarify what are the client/server involved, it is not possible to understand where the timeouts come from.


  17. John Empagio says:


    Is it possible to have a hardware to handle SSL and still get IIS7.0 to enable HTTPS without the SSL certificate?

  18. David.Wang says:

    John – IIS cannot enable HTTPS without a SSL Certificate. The server certificate is required for the decryption handshake.

    What you are probably asking is if you use hardware SSL which decrypts SSL traffic and sends unencrypted HTTP traffic to IIS, can you make IIS lie that the traffic is "encrypted" even if IIS never saw encrypted traffic nor decrypt the traffic. So that web applications which "require" encrypted transmission work.

    IIS7 Server Core Extensibility allows this, but what you need to do depends on how your web application detects if its traffic came over SSL or not.


  19. Sivakumar E says:

    Hi David,

     I got the 401 unauthenication Error. Please help out this. How can i enable anonymous Access.



  20. David.Wang says:

    Sivakumar E – please read my blog entry on 401 diagnosis, available as a link from of all my blog pages.


  21. Andrew says:

    I have a php file upload script that is successfully uploading files to my server, but I get 401 errors when I try to access them.

    I checked the permissions of the /uploads directory and of the files when I upload them and they are all 777, if I FTP a file into that directory I have no problem accessing them, but when I use my upload script I get 401 errors..

    The files are fine, CHMOD-ed to 777, I’m able to pull them through FTP just fine, open them on the machine running IIS, but I can’t access them through the web.

    Any Ideas?

  22. Noorul Ameen says:


    I have a filter to remove the Server: header in the SF_NOTIFY_SEND_RESPONSE notification and removing the header  using PHTTP_FILTER_SEND_RESPONSE pHeaders = (PHTTP_FILTER_SEND_RESPONSE) pvData;

    pHeaders->SetHeader( pfc,"Server:", "" );. This removes the header successully . But when I introduce Wildcard extension which fills the Server header using WriteClient() ,then the filter is unable to remove the Serve header because the header is going as part of data. Is this a bug in ISAPI or we are not supposed to write headers using WriteClient() instead of ServerSupportFunction() . I am trying to simulate this behaviour since I suspect our thridparty library is doing WriteClient() and unable to remove the header. Regards

    Noorul Ameen

  23. Shawn says:

    FTP transfer timeout at 1 hr. Running IIS 7 and WS-FTP 12. Is there a setting somewhere that I am missing? All I can find is the inactivity timeouts.

    WINSOCK.DLL: WinSock 2.0

    WS_FTP Pro, Version 7.62, 2002.12.18

    STOR Baker 2009-10-24 23-55-43.sqz

    125 Data connection already open; Transfer starting.

    transferred 271642624 bytes in 3600.469 seconds, 589.425 Kbps ( 73.678 KBps), transfer failed.

    It appears that the connection is dead.  Attempting reconnect…