I’d been looking at an issue where SCCM clients were constantly waiting for content from a local DP even though I had confirmed the content was present and accounted for on the local DP disk (my DP are running Windows Server 2008 R2 which is IIS 7.5). I checked the IIS logs on the local DP and found an interesting line, something like:
HEAD /SMS_DP_SMSPKGD$/APH000CC//filename.config - 80 - Microsoft+BITS/7.0 404 7 0 15
The ’404 7′ section was interesting because this is a HTTP status code for ’404.7 – File extension denied’ – according to http://support.microsoft.com/kb/943891.
I found a few articles via Google mentioning this problem and that I should edit the %windir%\System32\inetsrv\config\applicationHost.config file to allow the .config file type. This didn’t seem to fix the problem for me. After adjusting this and restarting IIS, when I looked in the IIS management GUI in the Request Filtering section, the .config extension was still blocked. I needed to change the HTTP request filters because by default in IIS 7.5 there are a list of file extensions that IIS will not provide to clients via WebDav. This included the ‘.config’ file type which I needed to deploy as part of an application package.
I didn’t want to manually do this via the GUI on all of my DPs so I used the appcmd.exe command and then restarted IIS:
%WinDir%\System32\InetSrv\appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /-"fileExtensions.[fileExtension='.config']"
This did the trick – my clients then downloaded the content from their local DP including the previously problematic .config files.
For more info see some of these links: