Description
Certain file extensions cannot be downloaded from a package server's web share running Internet Information Services (IIS) and ASP.NET, though these extensions may be downloaded just fine from a package server running another web server like Apache.
By default the following extensions cannot be downloaded on a server running IIS with ASP.NET.
Extensions (a - c) | Extensions (d - r) | Extensions (s - z) |
---|---|---|
.asax | .dd | .sd |
.ascx | .exclude | .sdm |
.ashx | .idc | .sdmDocument |
.asmx | .java | .shtm |
.asp | .jsl | .shtml |
.aspx | .ldf | .sitemap |
.axd | .licx | .skin |
.browser | .master | .soap |
.cd | .mdb | .stm |
.cdx | .mdf | .svc |
.cer | .msgx | .vb |
.compiled | .regresh | .vbproj |
.config | .rem | .vjsproj |
.cs | .resources | .vsdisco |
.csproj | .resx | .webinfo |
Other extensions may also be processed on the IIS server, such as .php if such is installed.
Cause
This is because certain file extensions are mapped to be processed by an application on the IIS server and only the output should be displayed. Many of these extensions do not have output but instead will just say that access is denied.
Resolution
These extensions can be allowed for one particular web service without affecting other web services.
This can be resolved in a two step process:
Create a new web share for the packages (if one is not already created).
Allowing all files to be downloaded instead of processed on the web server
Step 1 - Creating the Distribution Package Web Share
Create a folder on the server where the packages will be stored. (This may already be created.)
Open Internet Information Services (IIS) from Administrative Tools.
Right-click on Default Web Site and choose New | Virtual Directory.
Click Next.
Enter the Alias for the web share. For example, if the web share is going to be then the Alias name is Software.
Click Next.
For the Path, enter the folder on the server where the packages are be stored.
Click Next.
Check the option to allow Read and Browse.
Click Next.
Click Finish.
The virtual directory now appears under the Default Web Site.
Step 2 - Allowing all files to be downloaded instead of processed on the web server
Right-click on the newly created virtual directory and choose Properties.
Under the Virtual Directory tab, under the Application settings section, click the Create button to create the web application.
Click the Configuration button.
Under the Mappings tab, delete all the extensions under Application extensions except of one.
Warning:If every single item is removed it seems IIS adds them all back in. So it looks like you have to have at least one extension in the list or all extensions are added again. Create a bogus extension such as .BogusExtension and leave it in there.Click OK to exit the configuration.
Click OK again to exit the properties of the virtual directory.