Answered BITS issues with W2008 SP2 and IIS7.0

  • Monday, October 12, 2009 3:09 PM
     
     
    Hi,

    Im having all sorts of problems trying to get a large (418Mb) package to be deployed from an SCCM SP1 R2 (IIS7) DP. If I turn off BITS on the DP, it deploys fine - turn it on and I get sporadic results from 0% deployed to maybe 16%, and then it stops. Ive rem'd out the request filtering section in applicationhost.config file in case that was messing with me, and Ive tried deleting files from the package to see if that gives me a clue. Other smaller packages seem to go out OK with BITS enabled. Ive also tried using the BITSADMIN tool to see if that gives me a clue and that gives me loads of lines of text which start "working" - and then gets to a line when its states "UNKNOWN WORKING....." This always seems to be against a file which starts "GMT+" and then everything after that begins "UNKNOWN WORKING..." But I dont know what the issue is with GMT+ !
    Does anyone have a clue?
    Thanks

Answers

  • Tuesday, October 13, 2009 6:52 PM
    Moderator
     
     Answered
    Hi Kim,

    I investigated this and turns out this is an IIS request filtering issue with urls containing "+" character. Basically you get a 404.11 error since the url is double encoded. The following KB article presents a workaround to set "allowDoubleEscaping" to true. Note that by default this is disabled and you need to set this explicitly.

    http://support.microsoft.com/default.aspx/kb/942076

    After I enabled this I was able to download files from directories containing "+" character. Can you try this out and let me know if it resolves you issue.

    Thanks,

    Bhaskar

All Replies

  • Monday, October 12, 2009 4:52 PM
    Moderator
     
     

    This may be an issue with the character "+" present in the directory or the file name. Can you run the bitsadmin tool and manually download any file directly from within one of the "GMT+" directory?

    bitsadmin /transfer MyJob /priority normal [RemoteURL] [LocalFilePath]

    The above should tell you whether this is getting stalled because of that directory or file containing "+" character.

    Thanks,

    Bhaskar

  • Tuesday, October 13, 2009 7:18 AM
     
     
    Thanks for the response Bhaskar. I have actually removed the "GMT+" files from the package and it downloads great. But I still dont know what to do to get them to download properly - the package is useless without them! Any ideas?
    Thanks

    Kim
  • Tuesday, October 13, 2009 2:20 PM
    Moderator
     
     

    Would it be possible to either chain or use a task sequence to "wrap" the contents in some sort of compressed file, then have the "outer" (first) command/program "unpack" then the "inner" (second) command/program run whatever you need installed?

  • Tuesday, October 13, 2009 2:48 PM
     
     
    Hi Eric - thanks for the thoughts, but this is the first of several hundred packages I am importing into SCCM - so I would REALY like to sort out the root problem, as Im expecting more of this. :-)

  • Tuesday, October 13, 2009 3:01 PM
    Moderator
     
     
    Hi Kim,

    I am following up internally on this and will let you know as soon as I find anything.

    Thanks,

    Bhaskar
  • Tuesday, October 13, 2009 3:47 PM
     
     
    Thanks Bhaskar........
  • Tuesday, October 13, 2009 6:52 PM
    Moderator
     
     Answered
    Hi Kim,

    I investigated this and turns out this is an IIS request filtering issue with urls containing "+" character. Basically you get a 404.11 error since the url is double encoded. The following KB article presents a workaround to set "allowDoubleEscaping" to true. Note that by default this is disabled and you need to set this explicitly.

    http://support.microsoft.com/default.aspx/kb/942076

    After I enabled this I was able to download files from directories containing "+" character. Can you try this out and let me know if it resolves you issue.

    Thanks,

    Bhaskar
  • Wednesday, October 14, 2009 8:49 AM
     
     
    Hi Bhaskar - yep thats fixed it thanks. I didnt actually have the allowdoubleescaping line in the applicationhost.config file anywhere, but eventually found out that it had to go on the very first line next to the <requestfiltering > section start.  So if youre at the MMS next year, I owe you a pint ! :-)

    Thanks for the help

    Regards

    Kim
  • Wednesday, October 14, 2009 2:41 PM
    Moderator
     
     
    Not a problem at all. We got to learn something new because of this. I have opened an investigation bug for the next release to see how we can address this cleanly; we have a bunch of such IIS quirks that we would like to address and thus far I havent seen anyone running into the above issue :-)

    Thanks,

    Bhaskar
  • Tuesday, August 17, 2010 11:49 AM
     
     

    Kim, would it be possible for you to copy an extract from your applicationhost.config file please stating where the allowdoubleescaping entry should be as I too, do not have that line in my applicationhost.config file.

    Many thanks

     

    David

  • Tuesday, August 17, 2010 12:34 PM
    Moderator
     
     

    No need to edit that file manually. You can also use a command line tool:
    appcmd set config /section:requestfiltering /allowdoubleescaping:true

  • Thursday, October 27, 2011 3:55 PM
     
     

    I also do not have the section in my application host config file for  <Allow Double Escaping>

    I ran the appcmd command and it said it was successful.  However when i check the applicationhost.config file after running the appcmd command I do not see the line in my file. 

    How should it look. Like this?

               <requestFiltering>

    <requestFiltering allowDoubleEscaping="true">
    <fileExtensions allowUnlisted="true" applyToWebDAV="true

                    <fileExtensions allowUnlisted="true" applyToWebDAV="true">
                        <add fileExtension=".asax" allowed="true" />
                        <add fileExtension=".ascx" allowed="true" />
          <add fileExtension=".tar" allowed="true" />
    I also found an article that said to change this line. To true.      Is this valid?
    1. <section name="requestFiltering" overrideModeDefault="Deny" />