<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx</link><description>Variations of this question are asked of IIS 6 all the time. However, the answer is no different than for any other version of IIS other than the fact that IIS 6 gives you a distinct error code to troubleshoot. What is not clear to me is why users think</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#441425</link><pubDate>Thu, 21 Jul 2005 20:47:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:441425</guid><dc:creator>Santosh </dc:creator><description>Thanks this really helped resolve my problem. </description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#441773</link><pubDate>Fri, 22 Jul 2005 16:29:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:441773</guid><dc:creator>David.Wang</dc:creator><description>You're welcome! This is a pretty common confusion amongst users, and I really hope this clears things up.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#454255</link><pubDate>Sun, 21 Aug 2005 23:57:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:454255</guid><dc:creator>Jason</dc:creator><description>Your advise helped another confused IIS user who has been searching the answer on the web for weeks.   THANKS!  </description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#455644</link><pubDate>Wed, 24 Aug 2005 19:57:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:455644</guid><dc:creator>IIS user</dc:creator><description>Awesome response and thank you, I have been trying for two weeks to figure out what I changed on the server to make it try and run the program on the server, but was just over looking this.</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#460576</link><pubDate>Sun, 04 Sep 2005 00:54:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:460576</guid><dc:creator>David Wang</dc:creator><description>Barbie - I am not certain what more info you are looking for.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#476989</link><pubDate>Tue, 04 Oct 2005 22:14:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:476989</guid><dc:creator>Vishwas</dc:creator><description>I am trying to run an exe on the box with IIS 6.0 and I did carry out all the steps mentioned above yet no improvements. Can someone please throw some light on this. </description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#477194</link><pubDate>Wed, 05 Oct 2005 07:10:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:477194</guid><dc:creator>Jason</dc:creator><description>I am still having a problem letting ANY file be downloaded. Exe's are working great ie: &lt;a rel="nofollow" target="_new" href="http://dl.htmlgraphic.com/bulletftpsetup.exe"&gt;http://dl.htmlgraphic.com/bulletftpsetup.exe&lt;/a&gt;  ie: &lt;a rel="nofollow" target="_new" href="http://dl.htmlgraphic.com/default.asp.old"&gt;http://dl.htmlgraphic.com/default.asp.old&lt;/a&gt;  this *.old trys to execute.  Can you please help.  </description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#477484</link><pubDate>Wed, 05 Oct 2005 22:59:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:477484</guid><dc:creator>David Wang</dc:creator><description>Vishwas - If you are trying to run an .exe on IIS 6.0 then you obviously need to:&lt;br&gt;1. Enable &amp;quot;Scripts and Executables&amp;quot; Execute permission for the URL&lt;br&gt;2. Make sure that .exe does NOT have an application mapping&lt;br&gt;3. [IIS6 only] Have Web Service Extension for the EXE&lt;br&gt;&lt;br&gt;I think you probably have a mistaken setting of #2 somewhere; similar to Jason also having a mistaken setting of #2 that prevents the right thing from happening.&lt;br&gt;&lt;br&gt;Jason - if .old tries to execute, it means that you have an application mapping for .old AND you have &amp;quot;Scripts&amp;quot; Execute Permissions.&lt;br&gt;&lt;br&gt;Similar to .exe, you either:&lt;br&gt;1. Change to &amp;quot;None&amp;quot; Execute Permissions. This prevents application mappings from taking effect&lt;br&gt;2. Remove the application mapping for .old&lt;br&gt;&lt;br&gt;I suspect you accidentally set up a .old application mapping, so I suggest #2 first.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#477953</link><pubDate>Thu, 06 Oct 2005 22:32:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:477953</guid><dc:creator>mads</dc:creator><description>How can I enable Web Service Extension for that .exe file?&lt;br&gt;</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#506527</link><pubDate>Thu, 22 Dec 2005 01:18:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:506527</guid><dc:creator>David</dc:creator><description>Thanks... that solved a client's problem very quickly!</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#542711</link><pubDate>Fri, 03 Mar 2006 07:41:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:542711</guid><dc:creator>Henry Luo</dc:creator><description>I just fixed one .exe download problem. The browser stuck and cannot download the .exe file. 
&lt;br&gt;
&lt;br&gt;I checked the setting of the directory containing the .exe file. And it's Execute Permission was set to Script. So I initially thought it should be OK, as .exe is not script and should be downloaded. 
&lt;br&gt;
&lt;br&gt;But only after I changed the Execute Permission to None, did the download go away. 
&lt;br&gt;
&lt;br&gt;So for .exe download to work, you MUST set Execute Permission to &amp;quot;None&amp;quot;. 
&lt;br&gt;
&lt;br&gt;David, your statement of 'you must NOT have &amp;quot;Scripts and Executables&amp;quot; as Execute Permissions.' is a bit ambiguious. &amp;nbsp;People might think &amp;quot;Script&amp;quot; is acceptable as I did.</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#542792</link><pubDate>Fri, 03 Mar 2006 10:26:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:542792</guid><dc:creator>David.Wang</dc:creator><description>Henry - Sorry, but I stand by my statement. For .exe download to work, Execute Permission must NOT be "Scripts and Executables". &lt;BR&gt;&lt;BR&gt;In particular, you can download .exe with Execute Permissions set to "Script". I just did. So, I am fairly certain&amp;nbsp;I just disproved your claim of "for .exe download to work, you MUST set Execute Permissions to "None". &lt;BR&gt;&lt;BR&gt;Of course, since IIS is a configurable server, it is also possible to configure what *should* work into not working. I obviously cannot call out all possible ways that you can shoot yourself... &lt;BR&gt;&lt;BR&gt;I think "Scripts" does not work for you because you have an incorrect Application Mapping for .exe extension which does not generate a valid HTTP response and hence causes the client to "hang". This would explain the behavior difference between "Scripts" and "None" because "None" forces the Static File Handler (which results in a file download) while "Scripts" allows Application Mapping to execute (which obviously executed something or else you would have had a successfully download via Static File Handler). &lt;BR&gt;&lt;BR&gt;&lt;A href="/david.wang/archive/2005/10/14/HOWTO_IIS_6_Request_Processing_Basics_Part_1.aspx" target=_new rel=nofollow&gt;http://blogs.msdn.com/david.wang/archive/2005/10/14/HOWTO_IIS_6_Request_Processing_Basics_Part_1.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;Of course, I preface all this by saying that if you have arbitrary ISAPI or CGI configured to execute during request processing, all bets are off since they can alter behavior arbitrarily. I can only describe how the IIS6 Request Processing works... not how arbitrary code can alter behavior.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#555365</link><pubDate>Mon, 20 Mar 2006 10:49:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:555365</guid><dc:creator>Yusuf Murabe</dc:creator><description>Very nice article, David, but didn't help me with one particular problem.&lt;br&gt;I have .rdp files on an IIS6 server so users can open them directly, and thereby go to their rdp session (which might be ipaddress:3390 etc)&lt;br&gt;They give the file not found error, but I can't see any mappings to them and exe's can download OK. Any ideas?</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#555386</link><pubDate>Mon, 20 Mar 2006 11:53:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:555386</guid><dc:creator>David.Wang</dc:creator><description>Yusuf - This blog entry describes what is going on and how to troubleshoot it. Please re-read the &amp;quot;Details&amp;quot; section.&lt;br&gt;&lt;br&gt;You most likely need to add a MIME Type for .rdp so that it is allowed for download. The reason you didn't do this for .exe is because there is already a defined MIME Type for .exe by default.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#555552</link><pubDate>Mon, 20 Mar 2006 18:16:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:555552</guid><dc:creator>Rao</dc:creator><description>please tell me how to run *.exe file in server (and not download it). I am trying to figure out how to script for an application in c with *.exe (400kb) to run in a server upon query from a browser.</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#566712</link><pubDate>Sun, 02 Apr 2006 04:18:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566712</guid><dc:creator>keith</dc:creator><description>All your info is great for putting people on the right track, but you failed to mention a couple things. These two things are IIS Lockdown 2.1 and URLScan.dll. &amp;nbsp;Two nifty tools, yes. &amp;nbsp;But the URLScan will prevent .exe download, by its default config. &amp;nbsp;&lt;br&gt;&lt;br&gt;This little annoyance caused me about 30 mins of config tweaking trying to determine why my .exe's would serve. &amp;nbsp;So, be adviced, look in your urlscan.ini for config options. &amp;nbsp;&lt;br&gt;&lt;br&gt;Thx.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#566804</link><pubDate>Sun, 02 Apr 2006 13:38:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566804</guid><dc:creator>David.Wang</dc:creator><description>keith - Thanks for the additions.
&lt;br&gt;
&lt;br&gt;I just wanted to respond to your statement that I &amp;quot;failed to mention a couple of things&amp;quot;.
&lt;br&gt;
&lt;br&gt;Please note that I intentionally disregarded IIS Lockdown 2.1 and URLScan in this blog entry because:
&lt;br&gt;1. Neither are installed by default on IIS6. Use on IIS6 is on a case-by-case basis.
&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.microsoft.com/technet/security/tools/urlscan.mspx"&gt;http://www.microsoft.com/technet/security/tools/urlscan.mspx&lt;/a&gt;
&lt;br&gt;2. Arbitrary ISAPI DLL can cause arbitrary behavior on IIS (like failure to allow EXE file downloads) for arbitrary reason. I cannot possibly write a prescriptive blog entry about an unknown arbitrary reason and how to resolve it.
&lt;br&gt;3. I want to explain the IIS6 specific behavior concerning allowing EXE file downloads, which is applicable on all IIS6 servers.
&lt;br&gt;4. URLScan rejections are not 404.2, which is in the original question.
&lt;br&gt;
&lt;br&gt;In other words, if the blog entry is about &amp;quot;ways to resolve arbitrary unexpected 404s&amp;quot;, then yes, I should certainly mention the valid statement that &amp;quot;arbitrary ISAPI Extension or ISAPI Filter, such as URLScan, can alter server behavior to result in unexpected 404s.&amp;quot;
&lt;br&gt;
&lt;br&gt;Now, I actually wrote this blog entry to describe a common user misunderstanding of:
&lt;br&gt;1. Downloading EXE to browser &amp;nbsp;vs
&lt;br&gt;2. Executing EXE on server &amp;nbsp;vs
&lt;br&gt;3. Executing EXE on the client
&lt;br&gt;
&lt;br&gt;Users tend to think that some combination of the above actions should &amp;quot;magically&amp;quot; happen with the exact same configuration -- obviously not possible. I wanted to point out how IIS views the requests and the configuration that allows IIS to distinguish between #1 and #2 (a key misunderstanding).
&lt;br&gt;
&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#575319</link><pubDate>Thu, 13 Apr 2006 00:31:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:575319</guid><dc:creator>chall3ng3r</dc:creator><description>hi david,&lt;br&gt;&lt;br&gt;i have created my own cgi like executable in C. it does not returns anything (as cgi's do), but it produces a xml file in same directory.&lt;br&gt;&lt;br&gt;what i want to do is execute this file on server through my asp 3.0 script, which passes it parameters to produce dymanic xml.&lt;br&gt;&lt;br&gt;can you help me on this? i need to do it in any of asp3.0/asp.net/asp.net2&lt;br&gt;&lt;br&gt;tia,&lt;br&gt;&lt;br&gt;// chall3ng3r //</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#575554</link><pubDate>Thu, 13 Apr 2006 09:50:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:575554</guid><dc:creator>David.Wang</dc:creator><description>chall3ng3r - I am not certain what help you need.&lt;br&gt;- ASP can use WScript.Shell to Run arbitrary executables on the server as the process identity.&lt;br&gt;- ASP.Net can use System.Activator to also invoke WScript.Shell, or it can use System.Diagnostics.Process.Start() to run arbitrary executables as the process identity.&lt;br&gt;&lt;br&gt;So, the process identity needs write access to the directory to write the XML file&lt;br&gt;&lt;br&gt;You can alternatively figure out these details pragmatically using FileMon from sysinternals.com.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#583750</link><pubDate>Wed, 26 Apr 2006 06:02:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:583750</guid><dc:creator>Nausher</dc:creator><description>Possibly your .exe's can get blocked by URLScan&lt;br&gt;&lt;br&gt;Then your log would contain &amp;lt;Rejected-By-UrlScan&amp;gt;&lt;br&gt;E.g.&lt;br&gt;2006-04-26 01:32:39 10.254.48.61 - 10.108.117.202 80 GET /&amp;lt;Rejected-By-UrlScan&amp;gt; ~/dir/application.exe 404 &lt;br&gt;&lt;br&gt;In such a case have URLScan.ini configured to allow *.exe or whatever it is by following this article.&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/kb/326444/"&gt;http://support.microsoft.com/kb/326444/&lt;/a&gt;&lt;br&gt;&lt;br&gt;URLScan.ini location - %WINDIR%\System32\Inetsrv\URLscan&lt;br&gt;Log files location - %SYSTEMROOT%\System32\LogFiles\W3SVC#\*.log</description></item><item><title>HOWTO: Run Console Applications from IIS6 on Windows Server 2003, Part 2</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#585976</link><pubDate>Fri, 28 Apr 2006 15:17:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:585976</guid><dc:creator>David Wang</dc:creator><description>I finally have enough blog entries about various portions of IIS6 request processing that I can stitch...</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#586895</link><pubDate>Sun, 30 Apr 2006 01:37:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:586895</guid><dc:creator>David.Wang</dc:creator><description>awesome, another 10K entry!&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#605777</link><pubDate>Wed, 24 May 2006 12:34:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:605777</guid><dc:creator>usman</dc:creator><description>i had to allow .ace file download in iis6 (it was in parts, so each file had a different extension - i.e. .ace,.c01,.c02 ...). I had to do this by adding mime types in the properties of the virtual directory. &lt;br&gt;I used application/octet-stream as the mime type for each extension (ace is just another format for zipping and i'm not sure if it is correct or not) and it started working. &lt;br&gt;</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#607058</link><pubDate>Thu, 25 May 2006 16:27:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:607058</guid><dc:creator>Quentin</dc:creator><description>Worked great! &amp;nbsp;Thanks!</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#609906</link><pubDate>Mon, 29 May 2006 11:26:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:609906</guid><dc:creator>Linda</dc:creator><description>Thanks! &amp;nbsp;You just saved me a lot of time and trouble!</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#614257</link><pubDate>Fri, 02 Jun 2006 17:25:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:614257</guid><dc:creator>DarkestNight</dc:creator><description>Thanks David Wang! Worked like a charm.</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#615694</link><pubDate>Sat, 03 Jun 2006 09:12:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:615694</guid><dc:creator>Evgeny</dc:creator><description>I want to allow download myfile.zip from the Virtual Directory.
&lt;br&gt;But then trying to download I have error 404 .
&lt;br&gt;If I just change extension to myfile.txt, I may normal download it.
&lt;br&gt;How must I configure IIS to allow download zip file?</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#631969</link><pubDate>Thu, 15 Jun 2006 10:19:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631969</guid><dc:creator>David.Wang</dc:creator><description>Evgeny - By default, downloading a .zip file just works with no configuration because .zip extension is handled by the IIS Static File Handler, and .zip has a pre-defined MIME Type extension.&lt;br&gt;&lt;br&gt;You need to:&lt;br&gt;1. Determine whether the .zip extension is handled as a static file or dynamic file on your server. Default is static, but unusual behavior usually indicates non-default configuration so you must verify.&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2005/10/14/HOWTO_IIS_6_Request_Processing_Basics_Part_1.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2005/10/14/HOWTO_IIS_6_Request_Processing_Basics_Part_1.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;2. Determine whether you configured any per-site or global ISAPI Filter to run on the request&lt;br&gt;&lt;br&gt;3. Check the IIS log file entry for that 404 error and determine the substatus and Win32 error code&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#632407</link><pubDate>Thu, 15 Jun 2006 19:12:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632407</guid><dc:creator>Elizabeth Dunn</dc:creator><description>Thank you for this information. &amp;nbsp;I was able to fix my problem in minutes. &amp;nbsp;We recently switched to a new server running IIS 6 and suddenly SCR files were creating a file not found error rather than prompting users with the Run/Download option. &amp;nbsp;Once I added the SCR extension with the MIME Type of application/octet-stream the Run/Download option appeared. &amp;nbsp;Is there a site that lists all extensions with the appropriate associated MIME type if I identify additional extensions I need to add or is is save to just use &amp;quot;application/octet-stream&amp;quot; if I can not identify the specific MIME type?</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#633534</link><pubDate>Fri, 16 Jun 2006 04:09:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633534</guid><dc:creator>David.Wang</dc:creator><description>Elizabeth - I am not aware of a website that lists all extensions with appropriate associate MIME type. However, I would not really worry about it because it is just a &amp;quot;hint&amp;quot; to the User-Agent (i.e. web browser) on what to do with the content.&lt;br&gt;&lt;br&gt;Realistically, content on the web falls into these buckets:&lt;br&gt;1. txt/html/xml/js/css - textual data that the browser can immediately consume for user display (i.e. CSS stylesheet that affects how an HTML page is displayed)&lt;br&gt;2. anything non-textual (i.e. binary) - binary data that the browser should download and save. Optionally, those with special MIME Type can automatically trigger handler plugins to display the binary data.&lt;br&gt;&lt;br&gt;The things in bucket #1 is pretty static. When talking about MIME Type, you are really talking about things in bucket #2 and in particular, whether the browser should either:&lt;br&gt;1. bring up the generic Download/Run dialog and make the user click a button &lt;br&gt;2. or automatically invoke the plugin based on MIME Type&lt;br&gt;&lt;br&gt;If you are just serving up files for download, you don't care about #2 and thus application/octet-stream is perfect sign for &amp;quot;download this&amp;quot;.&lt;br&gt;&lt;br&gt;If you are serving up files to be executed on the web browser, then you should know the correct MIME Type, and that can always be obtained from the computer where the web browser is supposed to execute.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#655111</link><pubDate>Mon, 03 Jul 2006 11:43:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:655111</guid><dc:creator>sunlie</dc:creator><description>Hi David, just want to ask how to set a .cer (X509 certificate) to be download. I've set the MIME type to application/x-x509-ca-cert, but the file show up in text.&lt;br&gt;Thanks</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#663697</link><pubDate>Wed, 12 Jul 2006 23:17:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:663697</guid><dc:creator>Harry</dc:creator><description>David - you should be getting paid for this kind of advice!</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#665430</link><pubDate>Fri, 14 Jul 2006 12:00:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:665430</guid><dc:creator>David.Wang</dc:creator><description>Harry - hehe... you should tell my manager that. :-)&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#667065</link><pubDate>Sun, 16 Jul 2006 07:38:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:667065</guid><dc:creator>Danny</dc:creator><description>My Hat's off to you David. &amp;nbsp;Thanks for the great advice. &amp;nbsp;I too had the same trouble with .exe files and searched the net for a while before stumbling across this article. &amp;nbsp;Of course, after reading through the responses, &amp;nbsp;it seems more like you were being attacked instead of offering advice. &amp;nbsp;Shame on those so quick to prove others wrong!! &lt;br&gt;My fix was to change the site to Scripts only. &amp;nbsp;This allowed me to achieve what I desired to have them be prompted for the download of the .exe file.&lt;br&gt;&lt;br&gt;Keep up the good work and Thanks again. &amp;nbsp;The info was greatly appreciated!! &amp;nbsp;:-)&lt;br&gt;</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#672396</link><pubDate>Thu, 20 Jul 2006 10:19:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:672396</guid><dc:creator>MickeyDing</dc:creator><description>David - you are a legend.&lt;br&gt;I have created a virtual directory to stash any old file and be able to download it. &lt;br&gt;I set the execute permissions to &amp;quot;none&amp;quot; because I don't want to compromise the server in any way by allowing any execution of anything.&lt;br&gt;The discussion about mime types led me to try a mime type with an extension of &amp;quot;*&amp;quot; mapping to a mimetype of &amp;quot;application/octet-stream&amp;quot;.&lt;br&gt;This appears to allow me to do binary transfers over http of any file, irrespective of what its extension may be. Is what I have done a security risk in any way ?</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#673137</link><pubDate>Thu, 20 Jul 2006 23:58:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:673137</guid><dc:creator>David.Wang</dc:creator><description>MickeyDing - Yes, a * MIME-Type allows all files (extension *) to be transported as binary (application/octet-stream).&lt;br&gt;&lt;br&gt;Default IIS6 behavior is to only allow downloads of defined MIME Types, and adding a * MIME-Type defeats that security check.&lt;br&gt;&lt;br&gt;However, if your purpose is to have a download directory, then the security risk of * MIME-Type on that directory is necessary.&lt;br&gt;&lt;br&gt;In other words, every single piece of functionality you enable on the web has an associated security risk. The only thing you can do is decide whether the risk is necessary, and if so, how to minimize/mitigate the risk.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#678088</link><pubDate>Tue, 25 Jul 2006 21:05:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:678088</guid><dc:creator>Jay</dc:creator><description>David - &amp;nbsp;I am trying to download our own custom extension over .Net application. I have added it to MIME type as application/octet-stream and also to Virtual Directory as new MIME type. But still for some reason it does not get downloaded. If I change the extension for the same file .tif it gets. &lt;br&gt;&lt;br&gt;Any ideas? As a test I even created a Test folder and tried to access the URL in Internet Explorer. For .tif extension it asks to open or save but for the custom extension it says page cannot be displayed.&lt;br&gt;&lt;br&gt;Thanks in advance!</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#678772</link><pubDate>Wed, 26 Jul 2006 12:04:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:678772</guid><dc:creator>David.Wang</dc:creator><description>Jay - The answer depends on the handler that sends the download.&lt;br&gt;&lt;br&gt;If the download of the custom extension is sent by your own application, then you are responsible for fixing the problem. MIME Type is only relevant when the IIS Static File Handler sends the resource.&lt;br&gt;&lt;br&gt;You should start by troubleshooting what status/substatus is recorded for the failing request. IE says &amp;quot;page cannot be displayed&amp;quot; for many reasons, not all related to MIME Type.&lt;br&gt;&lt;br&gt;In other words, setting the MIME Type does not ensure a file download. It only works if the file extension is handled by the IIS Static File Handler.&lt;br&gt;&lt;br&gt;I have other related blog entries along the sidebar of my Blog to explain how IIS handles requests, how to correctly troubleshoot IIS, etc. I suggest reading them all for more info.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#728960</link><pubDate>Tue, 29 Aug 2006 00:16:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:728960</guid><dc:creator>Nate</dc:creator><description>David - &lt;br&gt;I have run into a situation where I can not get IIS 6 to serve up files with a .log extension.&lt;br&gt;&lt;br&gt;I have a website that has a small data driven front end that lets you upload and view files stored in a share on a file server physically separate from the web server. &amp;nbsp;That share is mapped to via a virtual directory on the webroot.&lt;br&gt;&lt;br&gt;Every time a .log file is requested the website throws a 404 error. &amp;nbsp;So I tried adding .log to the list of mime types and no I am getting a 500 error.&lt;br&gt;&lt;br&gt;Any ideas?</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#736961</link><pubDate>Sat, 02 Sep 2006 21:59:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:736961</guid><dc:creator>Apple_Eater</dc:creator><description>Hey,&lt;br&gt;Is there any way to define &amp;quot;All unknown extensions&amp;quot; in the MIME settings to be &amp;quot;application/octet stream&amp;quot; (downloadable, I think)? I would like any files not directly recognized by IIS to be considered downloadable, any ideas?</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#752041</link><pubDate>Wed, 13 Sep 2006 16:29:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:752041</guid><dc:creator>Tarun</dc:creator><description>I am not able to execute any exe using ASP on IIS server.&lt;br&gt;I am getting this error message : &lt;br&gt;&lt;br&gt;&amp;quot;The application failed to initialize properly (0xc0000142). Click on OK to terminate the application.&amp;quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;Please help !!!!!!!!</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#752208</link><pubDate>Wed, 13 Sep 2006 18:45:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:752208</guid><dc:creator>Ian Billing</dc:creator><description>Thanks for all the articles - I am almost all the way to getting it right. My last problem now is this:&lt;br&gt;If the .exe file is a self extracting zip file or any other .exe file that is not a complied VB.NET .exe file, then I get the download box - which I want!&lt;br&gt;However, if the .exe is a file that was compiled in VB.NET, then no matter how I set the Execute Permissions, the server will not give the option of downloading the file - it always attempts to run it.&lt;br&gt;&lt;br&gt;Please help.&lt;br&gt;Thanks</description></item><item><title>IIS6, .ICA and 404 Not Found</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#755023</link><pubDate>Fri, 15 Sep 2006 04:03:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:755023</guid><dc:creator>Travelling without Moving</dc:creator><description>I'm sure the use of adding .ICA files to web servers to launch published applications from Presentation</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#778823</link><pubDate>Sun, 01 Oct 2006 03:49:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:778823</guid><dc:creator>Konstantin</dc:creator><description>Hi David&lt;br&gt;&lt;br&gt;I read through all these interesting notes, but didn't find anything on &amp;quot;.com&amp;quot; extension. I have images saved in user directories, named by user email addresses (because they're unique), like webserver.com/mary@test.net/pic.jpg - picture downloads great. But if user email ends on &amp;quot;.com&amp;quot;, like webserver.com/mary@test.com/pic.jpg - picture download gives 403.1 error &amp;quot;no execute permission&amp;quot;. Is any way to configure IIS5 not to consider &amp;quot;.com&amp;quot; in path as executable?&lt;br&gt;&lt;br&gt;thank you&lt;br&gt;&lt;br&gt;Konstantin</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#812907</link><pubDate>Tue, 10 Oct 2006 17:17:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:812907</guid><dc:creator>Sasi</dc:creator><description>&lt;p&gt;Please help me!!!&lt;/p&gt;
&lt;p&gt;I have lot of files on the server(it has got IIS 6.0) with different extensions(like abc.x01, xyz.x02, ddd.c12...). I have set the MIME type to .* with application/octet-stream. When I open these files from the IE, it directly opens file on the browser but I would like to have the &amp;quot;File Download&amp;quot; option, so that I can save the file instead of opening it automatically.&lt;/p&gt;
&lt;p&gt;please help me.....&lt;/p&gt;
&lt;p&gt;Many thanks&lt;/p&gt;
&lt;p&gt;Sasi.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#816819</link><pubDate>Wed, 11 Oct 2006 15:18:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:816819</guid><dc:creator>anonymous email</dc:creator><description>&lt;p&gt;I am interested about how to execute executables on a web server and interact via a website.&lt;/p&gt;
&lt;p&gt;Example:&lt;a rel="nofollow" target="_new" href="http://www.mywebsite/blabla.exe"&gt;http://www.mywebsite/blabla.exe&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;How can I check now if the executable is runnning and how can I (if possible) interact with it?&lt;/p&gt;
&lt;p&gt;Does somebody have more information?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#2201323</link><pubDate>Fri, 20 Apr 2007 06:33:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2201323</guid><dc:creator>Alattar</dc:creator><description>&lt;p&gt;Thank you David! It really solved my problem.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#2277910</link><pubDate>Thu, 26 Apr 2007 04:18:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2277910</guid><dc:creator>Erik Peterson</dc:creator><description>&lt;p&gt;Not sure this is the same, but I am using a C# webservice to run an executable..which is not working in IIS. &amp;nbsp;I *THINK* its a permissions problem because I can run it no problem in VS 2005, but not when deployed on the server. &amp;nbsp;If you can help that'd be great, I set permissions to execute already, and added a web extension for the exes..but to no avail..&lt;/p&gt;
&lt;p&gt;Program error:launch failed: c:\windows\system32\inetsrv&amp;gt;c:\Documents and Settings\Administrator\Desktop\test\Debug\test.exe &amp;quot;c:\Documents and Settings\Administrator\Desktop\test\Debug\test.exe&amp;quot; on 'frontend' failed&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#3126963</link><pubDate>Thu, 07 Jun 2007 01:58:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3126963</guid><dc:creator>LGR</dc:creator><description>&lt;p&gt;Thanks this saved me a lot of time. It reminds me why I use Linux servers. I find them easier to admin.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#3140647</link><pubDate>Thu, 07 Jun 2007 15:43:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3140647</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;LGR - I'm glad to be able to help.&lt;/p&gt;
&lt;p&gt;However, ease of administration is relative to one's skill set. Linux and Windows simply have different usage models.&lt;/p&gt;
&lt;p&gt;For example, I'm sure I find Linux as difficult to manage as you find Windows difficult to manage. But, I respect and leverage the advantages of each platform.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#3865023</link><pubDate>Sat, 14 Jul 2007 16:24:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3865023</guid><dc:creator>PJD_BE</dc:creator><description>&lt;p&gt;OK, but... don't work with .reg files. How to allow .reg files downloads on IIS 6.0&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#3901707</link><pubDate>Tue, 17 Jul 2007 00:33:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3901707</guid><dc:creator>Aboleth</dc:creator><description>&lt;p&gt;Thanks, this article helped alot.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#3908112</link><pubDate>Tue, 17 Jul 2007 09:19:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3908112</guid><dc:creator>RodW</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;I'm trying to get IIS 6.0 to serve up MP4 files without success.&lt;/p&gt;
&lt;p&gt;I've tried all of your suggestions so far in this list (re MIME Types etc) but it still just gives a 404 error page not found.&lt;/p&gt;
&lt;p&gt;Is there anything else that could be preventing MP4 files from being served?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rod&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#3988525</link><pubDate>Sat, 21 Jul 2007 14:24:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3988525</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;RodW - Please look in the IIS log file entry for the 404 response and if it is a:&lt;/p&gt;
&lt;p&gt;- 404 3 50, that is due to incorrect MIME Type configuration&lt;/p&gt;
&lt;p&gt;- 404 2 1260, that is due to misconfigured Application Mapping which does not have an enabled Web Service Extension&lt;/p&gt;
&lt;p&gt;- 404 0 2, that is a real &amp;quot;File not found&amp;quot;.&lt;/p&gt;
&lt;p&gt;- Anything else, it has nothing to do with IIS and depends on arbitrary ISAPI software installed on your server&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#4142976</link><pubDate>Tue, 31 Jul 2007 08:45:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4142976</guid><dc:creator>RodW</dc:creator><description>&lt;p&gt;OK. I did this and the log says its 404 2 1260&lt;/p&gt;
&lt;p&gt;Since MP4 files are normally played by Apple Quicktime does this mean that I have to set up a Web Service Extension for MP4 as I have done for other files (like PHP etc)?&lt;/p&gt;
&lt;p&gt;If so, which of the many Quicktime dlls do I need to specify the as the required file?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#4258499</link><pubDate>Mon, 06 Aug 2007 16:07:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4258499</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;RodW - Please read the blog entry and understand it.&lt;/p&gt;
&lt;p&gt;Since MP4 files are played by Apple Quicktime on the browser, it means that you should just register the .MP4 extension as a MIME Type with an appropriate value so that the web server allows it to be downloaded to the browser to play. You do NOT want to setup Web Service Extension because you do not want to execute the MP4 file on the server.&lt;/p&gt;
&lt;p&gt;In fact, please remove the Application Mapping for .mp4 - that is the misconfiguration causing your 404 2 1260.&lt;/p&gt;
&lt;p&gt;PHP and MP4 illustrate the two different ways for a web server to handle a given request, as mentioned in the blog entry above.&lt;/p&gt;
&lt;p&gt;PHP is server-side script which generates HTML that is interpreted and displayed by the client-side web browser. Thus, you need to configure an Application Mapping for the .php extension and enable the Web Service Extension for the executable named in the Application Mapping.&lt;/p&gt;
&lt;p&gt;MP4 is a file resource downloaded by the web browser and processed/played by a client-side plugin like Apple Quicktime. You only need to configure IIS to allow it to download, not execute.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#4469032</link><pubDate>Mon, 20 Aug 2007 00:11:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4469032</guid><dc:creator>todd</dc:creator><description>&lt;p&gt;thanks, your explanation helped me figure out why web deployment of symantec was having problems.&lt;/p&gt;
&lt;p&gt;todd&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#4692874</link><pubDate>Sat, 01 Sep 2007 23:33:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4692874</guid><dc:creator>Glenn</dc:creator><description>&lt;p&gt;Please help !!!&lt;/p&gt;
&lt;p&gt;Anyway we can limit the file being download by file size? &lt;/p&gt;
&lt;p&gt;For example, all file &amp;gt;1Mb cannot be downloaded through HTTP&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#4723470</link><pubDate>Mon, 03 Sep 2007 15:40:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4723470</guid><dc:creator>Stephen Pickett</dc:creator><description>&lt;p&gt;For anyone with 404 problems, make sure that your .php string in your Website -&amp;gt; Configuration matches with that in your ISAPI filter (if any) and in your Web Service Extension configuration.&lt;/p&gt;
&lt;p&gt;This is the correct way to do it and far safer than just enabling all Unknown ISAPI configurations.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#4952002</link><pubDate>Mon, 17 Sep 2007 10:40:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4952002</guid><dc:creator>blueocean</dc:creator><description>&lt;p&gt;thanks, very clear explanation.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5029540</link><pubDate>Fri, 21 Sep 2007 12:42:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5029540</guid><dc:creator>Apurva Kaushal</dc:creator><description>&lt;p&gt;Thanks a lot David for these useful information. It really helped me a lot. Thanks a million again.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5034480</link><pubDate>Fri, 21 Sep 2007 18:08:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5034480</guid><dc:creator>perplexed</dc:creator><description>&lt;p&gt;Help!!&lt;/p&gt;
&lt;p&gt;I'm using the System.Net.WebClient because I need to roll this into a DLL for VB6 programs to use.&lt;/p&gt;
&lt;p&gt;'Download a file works great. (2 lines of code)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim wcClient As WebClient = New System.Net.WebClient()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wcClient.DownloadFile(&amp;quot;&lt;a rel="nofollow" target="_new" href="http://X/X/1.jpg&amp;quot;"&gt;http://X/X/1.jpg&amp;quot;&lt;/a&gt;, &amp;quot;C:\1.jpg&amp;quot;) &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Upload throws a 404 0 Not Fnd. &lt;/p&gt;
&lt;p&gt;If no credential passed, throws 401&lt;/p&gt;
&lt;p&gt;wcClient.Credentials = New NetworkCredential(&amp;quot;UID&amp;quot;, &amp;quot;PW&amp;quot;)&lt;/p&gt;
&lt;p&gt;wcClient.UploadFile(&amp;quot;&lt;a rel="nofollow" target="_new" href="http://X/X/1.jpg&amp;quot;"&gt;http://X/X/1.jpg&amp;quot;&lt;/a&gt;, &amp;quot;PUT&amp;quot;, &amp;quot;C:\1.jpg&amp;quot;)&lt;/p&gt;
&lt;p&gt;Can't find answer. Localhost works fine. Must be permissions??&lt;/p&gt;
&lt;p&gt;Created virtual dir and assigned all read/write permissions to receiving folder on server.&lt;/p&gt;
&lt;p&gt;Any ideas or suggestions would be greatly appreciated...&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5353758</link><pubDate>Mon, 08 Oct 2007 06:30:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5353758</guid><dc:creator>richard Oscar paez</dc:creator><description>&lt;p&gt;deseo obtener los beneficios del este servicio&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5353789</link><pubDate>Mon, 08 Oct 2007 06:32:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5353789</guid><dc:creator>richard Oscar paez</dc:creator><description>&lt;p&gt;deseo obtener los beneficios de este servicio downlaods&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5353813</link><pubDate>Mon, 08 Oct 2007 06:33:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5353813</guid><dc:creator>richard Oscar paez</dc:creator><description>&lt;p&gt;deseo obtener todos los beneficios del programa via downloads&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5378509</link><pubDate>Tue, 09 Oct 2007 10:25:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5378509</guid><dc:creator>Sector</dc:creator><description>&lt;p&gt;Thanks for the solution. I 'll remember that because I spent half a day searching.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5516684</link><pubDate>Fri, 19 Oct 2007 04:59:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5516684</guid><dc:creator>Russell</dc:creator><description>&lt;p&gt;Thanks, this fixed my problem.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5655496</link><pubDate>Wed, 24 Oct 2007 21:51:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5655496</guid><dc:creator>Tom</dc:creator><description>&lt;p&gt;Hi David!&lt;/p&gt;
&lt;p&gt;I followed your instructions about the IIS and set it to execute .exe files:&lt;/p&gt;
&lt;p&gt;-permission set to &amp;quot;Scripts and Executables&amp;quot;, &lt;/p&gt;
&lt;p&gt;-enable a Web Service Extension for that exe,&lt;/p&gt;
&lt;p&gt;-NOT set the mime type for exe!&lt;/p&gt;
&lt;p&gt;-NOT set the mapping /application configuration/ for exe!&lt;/p&gt;
&lt;p&gt;But when write the exe-s url into the browser the &amp;nbsp;following error appeares:&lt;/p&gt;
&lt;p&gt;CGI Error&lt;/p&gt;
&lt;p&gt;The specified CGI application misbehaved by not returning a complete set of HTTP headers.&lt;/p&gt;
&lt;p&gt;Can you give me somee help for that?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Tom&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#5782017</link><pubDate>Tue, 30 Oct 2007 18:21:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5782017</guid><dc:creator>Tom</dc:creator><description>&lt;p&gt;I correct the problem, thanks for fast reply&lt;/p&gt;
&lt;p&gt;Tom&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#6181531</link><pubDate>Tue, 13 Nov 2007 22:48:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6181531</guid><dc:creator>DaveF</dc:creator><description>&lt;p&gt;Great information! &amp;nbsp;I followed what you said and had my A.exe file downloading in seconds.&lt;/p&gt;
&lt;p&gt;However, I also have other .exe's that are delphi forms on the site. &amp;nbsp;When I set the Execute permissions to Scripts, then the A.exe download works, but the forms don't. &amp;nbsp;When I set it to Scripts and Executibles, then the forms work, but the A.exe download file doesn't.&lt;/p&gt;
&lt;p&gt;Is there a way to set this, so that the A.exe file downloads, yet the other .exe forms execute?&lt;/p&gt;
&lt;p&gt;I'm thinking that this is Step 2 of the blog, where I would have to enable a Web Service Extension for the A.exe file. &amp;nbsp;If that's the case, how would I go about doing this?&lt;/p&gt;
&lt;p&gt;I went into the WEb Service Extensions folder and created a new extension called &amp;quot;A&amp;quot; and associated A with the A.exe file. &amp;nbsp;Is this incorrect?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#6359224</link><pubDate>Sun, 18 Nov 2007 12:28:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6359224</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;DaveF - Yes, it is possible to achieve what you want. You need to make sure that:&lt;/p&gt;
&lt;p&gt;1. A.exe does NOT have &amp;quot;Scripts and Executable&amp;quot; execute permission applied to it, so that it downloads&lt;/p&gt;
&lt;p&gt;2. other .exe forms HAVE &amp;quot;Scripts and Executable&amp;quot; execute permission applied to it, so that these forms execute and function.&lt;/p&gt;
&lt;p&gt;Clearly, one needs to set two different execute permissions. There are several ways to do this.&lt;/p&gt;
&lt;p&gt;Since you can set execute permissions for a virtual directory, set your existing virtual directory for these .exes to be one of the values (either &amp;quot;Scripts&amp;quot; or &amp;quot;Scripts and Executables&amp;quot;), then create a different IIS virtual directory pointing to the same physical directory, and have its execute permission be the other value. Now, reference A.exe from one of the virtual directories and the other .exe FORMs from the other.&lt;/p&gt;
&lt;p&gt;If you want to accomplish this without changing any external URLs, there is another approach, but you cannot do it totally from the IIS Manager UI. You will configure the execute permission to be &amp;quot;Scripts and Executables&amp;quot; for the virtual directory containing A.exe and the other .exe FORMs. You will then have to use a tool like ADSUTIL.VBS to set the AccessFlags property of the A.exe IIsWebFile itself to be &amp;quot;None&amp;quot; so that it downloads. This gives the behavior that all .exe will execute EXCEPT A.exe, which will download. i.e.&lt;/p&gt;
&lt;p&gt;CSCRIPT.EXE %SYSTEMDRIVE%\inetpub\AdminScripts\adsutil.vbs CREATE W3SVC/1/ROOT/vdirname/A.exe IIsWebFile&lt;/p&gt;
&lt;p&gt;CSCRIPT.EXE %SYSTEMDRIVE%\inetpub\AdminScripts\adsutil.vbs SET W3SVC/1/ROOT/vdirname/A.exe/AccessFlags 1&lt;/p&gt;
&lt;p&gt;where W3SVC/1 corresponds to the ID of your website, and /vdirname corresponds to the full pathname of your virtual directory&lt;/p&gt;
&lt;p&gt;Now, downloading of A.exe has nothing to do with Web Service Extension since that feature has to do with program EXECUTION. You want A.exe to download, not execute, so it has nothing to do with Web Service Extensions.&lt;/p&gt;
&lt;p&gt;Meanwhile, since you want the other .exe FORMs to execute on the server, every such .exe MUST be enabled in Web Service Extensions or else IIS6 will not execute them on the web server.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#6679956</link><pubDate>Thu, 06 Dec 2007 16:59:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6679956</guid><dc:creator>PH</dc:creator><description>&lt;p&gt;Hi, David!&lt;/p&gt;
&lt;p&gt;Great post, helped me a lot!&lt;/p&gt;
&lt;p&gt;Now I'm stuck with an execution ploblem with a thid-party .exe file. I double-checked all the settings, and it's still beeing downloaded instead of executing.&lt;/p&gt;
&lt;p&gt;I don't have an Application Mapping for .exe, I've set the &amp;quot;Scripts ans Executables&amp;quot; execute permission on the virtual directory and I have created and allowed an Web Service Extension for that .exe. When I prohibit this Web Service Extension, I get the 404 error. When I allow it, the browser tries to download it.&lt;/p&gt;
&lt;p&gt;This file is hosted on an application server. I even tried installing IIS on this server and configuring all the way, but still doesn't work. &lt;/p&gt;
&lt;p&gt;I'm thinking this may be a problem at the .exe file, but when I run it from a console, I get the response:&lt;/p&gt;
&lt;p&gt;&amp;quot;D:\senior\web\rs&amp;gt;conector.exe&lt;/p&gt;
&lt;p&gt;Content-type: text/html&lt;/p&gt;
&lt;p&gt;&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;ERROR&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;lt;BODY&amp;gt;&amp;lt;P&amp;gt;&amp;lt;H1&amp;gt;Error1.htm&amp;lt;/H1&amp;gt;&amp;lt;/P&amp;gt;&amp;lt;P&amp;gt;Comments: &amp;lt;/P&amp;gt;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/p&gt;
&lt;p&gt;D:\senior\web\rs&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;Got any clue?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#6768891</link><pubDate>Fri, 14 Dec 2007 12:21:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6768891</guid><dc:creator>kishore</dc:creator><description>&lt;p&gt;hi to all, &lt;/p&gt;
&lt;p&gt;i have done one project in vb.net, i dont know how to generate exe file and setup file, please help me &lt;/p&gt;
&lt;p&gt;thanks alot &lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#7310274</link><pubDate>Tue, 29 Jan 2008 21:01:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7310274</guid><dc:creator>WJewell</dc:creator><description>&lt;p&gt; Great help, I was even able to use it for my problem on IIS ver 5.1 and getting my .exe file to generate a response (option #2). &amp;nbsp;Many thanks!!!!!!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#7379524</link><pubDate>Sat, 02 Feb 2008 01:48:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7379524</guid><dc:creator>steve</dc:creator><description>&lt;p&gt;Many thanks! &amp;nbsp;Couldn't figure out why we couldn't download .exe files.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#7993064</link><pubDate>Mon, 03 Mar 2008 01:29:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7993064</guid><dc:creator>Andre Carneiro</dc:creator><description>&lt;p&gt;Let me add my thanks as wellf or a concise (and very useful) answer! :D&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8161331</link><pubDate>Wed, 12 Mar 2008 00:55:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8161331</guid><dc:creator>G. S. Lyon</dc:creator><description>&lt;p&gt;Even with the shear numbers of replies to your blog, let me add my thank you as well. &lt;/p&gt;
&lt;p&gt;Your post is concise and to the point! It's unfortunate vendor product documentation can't be like this.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8201856</link><pubDate>Fri, 14 Mar 2008 15:01:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8201856</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;G.S.Lyon - Welcome. Glad I could help and explain things quickly and concisely.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8375336</link><pubDate>Thu, 10 Apr 2008 19:07:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8375336</guid><dc:creator>gshewan</dc:creator><description>&lt;p&gt;Thanks David, that &amp;quot;Scripts and Executables&amp;quot; had me too!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8381714</link><pubDate>Fri, 11 Apr 2008 22:20:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8381714</guid><dc:creator>Nimish</dc:creator><description>&lt;p&gt;Awesome, that saved my day.&lt;/p&gt;
&lt;p&gt;Thanks David. That was really good!!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8519562</link><pubDate>Mon, 19 May 2008 22:39:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8519562</guid><dc:creator>Scott</dc:creator><description>&lt;p&gt;David - &lt;/p&gt;
&lt;p&gt;I have an executable file that works with a dll located in a cgi-bin directory. Tee file needs to execute and does not and I am getting the expected &amp;quot;404 2 1260&amp;quot; in the logs. You suggested that this is a due to an absent web service extension. I enabled &amp;quot;all unknown CGI extensions&amp;quot; and now I am able to run the executable. But, the problem is that this is a global change for all of my sites running in IIS and is a security concern of mine. Is there a way to only allow this for one particular web site or is this an all or none deal?&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8531369</link><pubDate>Thu, 22 May 2008 09:03:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8531369</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Scott - You should create a Web Service Extension to the CGI EXEcutable itself and enable it. It then allows IIS to execute that CGI for any website.&lt;/p&gt;
&lt;p&gt;Web Service Extension is meant to allow/deny execution of a single EXE across all websites on IIS. Thus, it is very fine-grained.&lt;/p&gt;
&lt;p&gt;People tend to make the mistake of wanting to use Web Service Extension as an authorization mechanism and ask &amp;quot;can I have this EXE be allowed to run only on this particular website but not anywhere else&amp;quot; -- i.e. per-URL Web Service Extension&lt;/p&gt;
&lt;p&gt;However, Web Service Extension was never meant an authorization mechanism -- it is an IIS-wide yes/no security decision.&lt;/p&gt;
&lt;p&gt;The better way to authorize CGI execution is to use process identity and NTFS ACLs to control *which* URL/website can actually read the CGI -- because then Web Service Extension allows you to control whether it is even allowed to be executed by IIS, and through NTFS ACLs you control exactly what the CGI can do.&lt;/p&gt;
&lt;p&gt;Cardinal sin made by users -- if you do not control the user identity, you cannot properly authorize.&lt;/p&gt;
&lt;p&gt;That is real authorization. Per-URL Web Service Extension pales in comparison and that's why we didn't do things that way, even though customers think it is the &amp;quot;natural&amp;quot; solution.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8538601</link><pubDate>Fri, 23 May 2008 13:52:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8538601</guid><dc:creator>Rahul</dc:creator><description>&lt;p&gt;Hey..the view u mentioned are quiet good..but i m using verion IIS5.1...The mentioned thing is not working there...Kindly revert back&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8574502</link><pubDate>Thu, 05 Jun 2008 06:22:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8574502</guid><dc:creator>Doo4fun</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;I have a virtural directory off root that must have execute premissions set to scripts and exe to allow the site to server pages. &amp;nbsp;The directory is web shared with properties of execute. &amp;nbsp;(I have found that when the virtural dir is set to scripts and exe then the web share defaults to execute. &amp;nbsp;If web share is changed it also changes the Virtural site and vice versa) My problem is that the .exe will not execute if the web share permissions is set to execute. &amp;nbsp;it wil work if the &amp;nbsp;Web share permissions are none or scripts. &amp;nbsp;But then my website will not server pages. &amp;nbsp;I have the default mime type .exe configured and I have added the .exe path to the Web server extentions. &amp;nbsp;Now the site does not return the 404 error the site times out with &amp;nbsp;CGI Timeout.&lt;/p&gt;
&lt;p&gt;Thanks, &lt;/p&gt;
&lt;p&gt;doo4fun&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8574878</link><pubDate>Thu, 05 Jun 2008 12:53:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8574878</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Doo4fun - It sounds like you configured every possible combination, all conflicting, so nothing works as it should.&lt;/p&gt;
&lt;p&gt;First, get rid of the configuration changes you made, such as adding the .exe MIME Type, .EXE Web Service Extension, and .EXE Application mapping. Your configuration is causing the misbehavior.&lt;/p&gt;
&lt;p&gt;Then, decide on what you want to do based on this blog entry, which describes how to properly configure all the options. Any other configuration is incorrect.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8576119</link><pubDate>Thu, 05 Jun 2008 22:46:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8576119</guid><dc:creator>Doo4fun</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;I have read the details of this blog however; I believe my scenario may be a slight different. &amp;nbsp;The (3rd Party) application requires execute permissions set to scripts and exec to allow the site to server pages. &amp;nbsp;Now within the page there is a link to download a file. &amp;nbsp;This is where the 404 error is produced. &amp;nbsp;I actually need both #1 and #2 to happen.&lt;/p&gt;
&lt;p&gt;Is this possible?&lt;/p&gt;
&lt;p&gt;Doo4fun&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8580349</link><pubDate>Sun, 08 Jun 2008 02:23:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8580349</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Doo4fun - Thanks for clarifying.&lt;/p&gt;
&lt;p&gt;It sounds like what you want is to execute a 3rd party application with .EXE extension in one virtual directory, and it also serves up files with .EXE extension for download from the same virtual directory. If not, please clarify further.&lt;/p&gt;
&lt;p&gt;To do the above, you need to use IIsWebFile to set the Execute Permission on the .EXE 3rd party application itself to be &amp;quot;Scripts and Executables&amp;quot; while the rest of the virtual directory is set to &amp;quot;Read&amp;quot; only and does not execute anything. And make sure the MIME Type for .exe is set in this virtual directory to allow downloads.&lt;/p&gt;
&lt;p&gt;With such a design, it is possible for:&lt;/p&gt;
&lt;p&gt;- /directory/3rdPartyApp.exe &amp;nbsp;to execute&lt;/p&gt;
&lt;p&gt;- /directory/Another.exe URL served up by 3rdPartyApp.exe to be downloaded&lt;/p&gt;
&lt;p&gt;FYI: This 3rd Party Application's design is *bad*. What you really want is for the application itself to execute in one URL namespace while the files it serves to live in another URL namespace. The fact that it mixes it all up is poor, insecure design.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8786425</link><pubDate>Tue, 29 Jul 2008 03:31:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8786425</guid><dc:creator>L P Morton</dc:creator><description>&lt;p&gt;David, &lt;/p&gt;
&lt;p&gt;How about IIs 5.0? &lt;/p&gt;
&lt;p&gt;I need to execute an .exe on a web server for a private web site. &lt;/p&gt;
&lt;p&gt;The program returns http 401.3 no matter what. I have changed every known permission there is and still it gives me the same error.&lt;/p&gt;
&lt;p&gt;Here is my code, but I have tried about 20 different code approaches.&lt;/p&gt;
&lt;p&gt;&amp;lt;HEAD&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;SCRIPT type=&amp;quot;text/javascript&amp;quot; LANGUAGE=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;function JSRun( program, params )&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;var program = &amp;quot;d:/inetpub/txprc/txprc.exe&amp;quot;;&lt;/p&gt;
&lt;p&gt;var params = 'TX';&lt;/p&gt;
&lt;p&gt;var shell = new ActiveXObject( &amp;quot;WScript.Shell&amp;quot; );&lt;/p&gt;
&lt;p&gt;shell.run(&amp;quot;&lt;a rel="nofollow" target="_new" href="http://www.txprc.com/txprc.exe&amp;quot;"&gt;http://www.txprc.com/txprc.exe&amp;quot;&lt;/a&gt;);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;lt;/SCRIPT&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/HEAD&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;BODY&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;FORM name=&amp;quot;Form1&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;H1&amp;gt;Execute TXPRC From HTML &amp;lt;/H1&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;input type=&amp;quot;Button&amp;quot; name=&amp;quot;Button1&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; value=&amp;quot;Run txprc.exe&amp;quot; onClick=&amp;quot;JSRun()&amp;quot; &amp;nbsp;/&amp;gt;&lt;/p&gt;
&lt;p&gt;Thank you for your help....&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8800534</link><pubDate>Fri, 01 Aug 2008 19:03:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8800534</guid><dc:creator>Ben</dc:creator><description>&lt;p&gt;Hi All --&lt;/p&gt;
&lt;p&gt;I'm attempting to have files with .exe extension run so that dynamic web content is displayed (option #3 as listed several times above).&lt;/p&gt;
&lt;p&gt;I have a virtual directory that contains the .exe files. &amp;nbsp;That virtual directory has its &amp;quot;Execute Permissions&amp;quot; set to &amp;quot;Scripts and Executables&amp;quot;.&lt;/p&gt;
&lt;p&gt;The .exe extension is NOT listed in the MIME-type list anywhere. &amp;nbsp;It is also not listed in ISAPI application map list.&lt;/p&gt;
&lt;p&gt;I have the Web Service extensions set to &amp;quot;Allow All unknown CGI extensions&amp;quot; (for the purpose of testing). &amp;nbsp;Though I also set up a specific extension for each of my files in an attempt to get this working.&lt;/p&gt;
&lt;p&gt;When I try to access the webpages in IE7 (one of my pages is called &amp;quot;login.exe&amp;quot;) -- I get a blank page. &amp;nbsp;The IIS log shows the server sending a 200 response.&lt;/p&gt;
&lt;p&gt;When I try to access the webpage in Firefox I get the &amp;quot;Save File&amp;quot; dialog. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Help!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8807877</link><pubDate>Sat, 02 Aug 2008 23:36:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8807877</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Ben - this sounds like a problem with your .exe files because they are not generating proper HTTP response to be interpreted as web content by browsers.&lt;/p&gt;
&lt;p&gt;Please run the .exe yourself and report the exact output produced by the .exe files, including output of every single byte that is sent, because HTTP cares around the exact bytes, not characters, being transferred.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8830619</link><pubDate>Mon, 04 Aug 2008 14:59:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8830619</guid><dc:creator>Ben</dc:creator><description>&lt;P&gt;Hi David --&lt;/P&gt;
&lt;P&gt;Thanks for the response. &amp;nbsp;The initial "load" page is very simple. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the output (the first character "C" is line 1, char 1):&lt;/P&gt;
&lt;P&gt;Content-Type: text/html; charset=ISO-8859-1&lt;/P&gt;
&lt;P&gt;&amp;lt;html&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Company Title&amp;lt;/title&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;style type='text/css'&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;!-- &amp;nbsp;url(../css/23A7.css) --&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;/style&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;script language=Javascript1.2&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;!--&lt;/P&gt;
&lt;P&gt;&amp;nbsp;function onFormSubmit() {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;setTimeout ("document.forms['one'].uname.value=''", 5000);&lt;/P&gt;
&lt;P&gt;setTimeout ("document.forms['one'].pd.value=''", 5000);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var EncUname;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var HexEncUname;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var EncPd;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var HexEncPd;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var uName = document.forms['one'].uname.value;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var pd = document.forms['one'].pd.value;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var key = "";&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;EncUname = des( key, uName, 1, 0 );&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;HexEncUname = translate( EncUname, 'ascii' );&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;EncPd = des( key, pd, 1, 0 );&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;HexEncPd = translate( EncPd, 'ascii' );&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;document.forms['two'].hiddenuname.value = HexEncUname;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;document.forms['two'].hiddenpd.value = HexEncPd;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var winString = 'width=' + winWidth + ',height=' + winHeight;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;winString = winString + 'menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=5,top=5';&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;document.forms['two'].target = 'main';&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;window.open('', 'main', winString);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;document.forms['two'].submit();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;return false;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;function bodyLoad() {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;document.one.uname.focus();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;} &lt;/P&gt;
&lt;P&gt;--&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/script&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/head&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;body onLoad='bodyLoad();'&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;center&amp;gt;&amp;lt;img src='../images/keysystems_logo.gif'&amp;gt;&amp;lt;/center&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;center&amp;gt;&amp;lt;h3&amp;gt;Login&amp;lt;/h3&amp;gt;&amp;lt;/center&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;center&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;FORM method='POST' name='one' onSubmit="return onFormSubmit();"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;table&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;tr&amp;gt;&amp;lt;td class='small-form'&amp;gt;Username:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;INPUT TYPE='text' name='uname' class='small-form'&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;tr&amp;gt;&amp;lt;td class='small-form'&amp;gt;Password:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;INPUT TYPE='password' name='pd' class='small-form'&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan='2'&amp;gt;&amp;lt;INPUT TYPE='submit' value='Submit'&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/table&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/FORM&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/center&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;FORM method='POST' name='two' action='main.exe'&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;lt;INPUT TYPE='hidden' name='hiddenuname'&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;lt;INPUT TYPE='hidden' name='hiddenpd'&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/FORM&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/body&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8832205</link><pubDate>Tue, 05 Aug 2008 00:42:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8832205</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Ben - What you provided is not proper HTML.&lt;/p&gt;
&lt;p&gt;Content-Type is a HTTP response header which should not show up as part of any HTML Markup, so that is a bug in the CGI.&lt;/p&gt;
&lt;p&gt;In order for the EXE to function properly to generate dynamic content that can be interpreted by a browser, it needs to output a proper HTTP response with HTML Markup as entity body.&lt;/p&gt;
&lt;p&gt;The following is what a proper-looking HTTP response should look like. It needs to be generated by the CGI EXE. &lt;/p&gt;
&lt;p&gt;HTTP/1.1 200 OK[CRLF]&lt;/p&gt;
&lt;p&gt;Connection: Close[CRLF]&lt;/p&gt;
&lt;p&gt;Content-Length: &amp;lt;byte count of HTML Markup as Entity Body&amp;gt;[CRLF]&lt;/p&gt;
&lt;p&gt;Content-Type: &amp;nbsp;text/html; charset=ISO-8859-1[CRLF]&lt;/p&gt;
&lt;p&gt;[CRLF]&lt;/p&gt;
&lt;p&gt;&amp;lt;html&amp;gt;...&lt;/p&gt;
&lt;p&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;p&gt;Some of the most common problems with CGI are:&lt;/p&gt;
&lt;p&gt;1. not sending CRLF (hex 0D 0A) to terminate HTTP header lines as specified by HTTP 1.1 specification&lt;/p&gt;
&lt;p&gt;2. not sending Content-Length, which forces the client to use Connection closure as way to know when the request is done. Combined with HTTP/1.1 which defaults to Connection: Keep-Alive, it means that CGI's which rely on &amp;quot;default&amp;quot; values will just fail.&lt;/p&gt;
&lt;p&gt;3. not sending a Content-Type response header&lt;/p&gt;
&lt;p&gt;Based on what you provided, it looks like the CGI has several of these problems. If this CGI worked before, it was more because of a miracle than by-design.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8833903</link><pubDate>Tue, 05 Aug 2008 15:34:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8833903</guid><dc:creator>bamm78</dc:creator><description>&lt;p&gt;David --&lt;/p&gt;
&lt;p&gt;Appreciate your response. &amp;nbsp;I'm going to work with the vendor to see what can be done here. &amp;nbsp;Clearly, IIS6 is more strict about enforcing these rules than II5 or Apache 2.x, as the application seems to be running fine in those environments. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks again, and I'll post some further results when I get them.&lt;/p&gt;
&lt;p&gt;Ben&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8836897</link><pubDate>Wed, 06 Aug 2008 13:22:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8836897</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Ben - both of those named servers allow very badly written applications to semi-function. It makes the server look stellar in terms of compatibility, but all it really does is propagate badly written and non-conformant applications.&lt;/p&gt;
&lt;p&gt;We all know the same mess on the Browsers, which had bugs that allowed badly written applications (or even browser-bug-specific applications) to propagate... until conformance to HTML standards kicked in with some Browsers to clean things up.&lt;/p&gt;
&lt;p&gt;It may hurt in the short run, but in the long run, having applications which conform to public HTTP and HTML specifications is a good, not bad, thing.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8837169</link><pubDate>Wed, 06 Aug 2008 15:27:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8837169</guid><dc:creator>Ben</dc:creator><description>&lt;p&gt;Hi David --&lt;/p&gt;
&lt;p&gt;Thanks again for the knowledge, you've been extremely helpful. &amp;nbsp;One thing I've tried is to write a test script, which I compiled into an EXE and am testing on my own. &amp;nbsp;Here is the output:&lt;/p&gt;
&lt;p&gt;HTTP/1.1 200 OK&lt;/p&gt;
&lt;p&gt;Connection: Close&lt;/p&gt;
&lt;p&gt;Content-Length: 101&lt;/p&gt;
&lt;p&gt;Content-Type: &amp;nbsp;text/html; charset=ISO-8859-1&lt;/p&gt;
&lt;p&gt;&amp;lt;html&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;head&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;title&amp;gt;Test Page&amp;lt;/test&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;/head&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;body&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;h2&amp;gt;Testing...&amp;lt;/h2&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;/body&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;p&gt;Accessing this page with IE7 renders a blank page, while attempting it with Firefox gets the file download routines started. &amp;nbsp;Is there an issue with conforming to HTTP/HTML specs with this script, or should I go back to checking my IIS settings?&lt;/p&gt;
&lt;p&gt;Thanks again for all of your help.&lt;/p&gt;
&lt;p&gt;--Ben&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8837189</link><pubDate>Wed, 06 Aug 2008 15:37:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8837189</guid><dc:creator>Ben</dc:creator><description>&lt;p&gt;Just to (maybe) make the script output clearer:&lt;/p&gt;
&lt;p&gt;HTTP/1.1 200 OK[CRLF]&lt;/p&gt;
&lt;p&gt;Connection: Close[CRLF]&lt;/p&gt;
&lt;p&gt;Content-Length: 101[CRLF]&lt;/p&gt;
&lt;p&gt;Content-Type: &amp;nbsp;text/html; charset=ISO-8859-1[CRLF][CRLF]&lt;/p&gt;
&lt;p&gt;&amp;lt;html&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;head&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;title&amp;gt;Test Page&amp;lt;/test&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;/head&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;body&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;h2&amp;gt;Testing...&amp;lt;/h2&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;/body&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;lt;/html&amp;gt;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8845288</link><pubDate>Sun, 10 Aug 2008 00:49:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8845288</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Ben - IIS itself does not modify response output. However, you may have custom ISAPI that do modify response - I do not know your server's configuration.&lt;/p&gt;
&lt;p&gt;I do not count 101 bytes following the double [CRLF] (maybe some of the [CRLF] are eaten up by HTML, which does not preserve such whitespace by definition), which constitutes what the browser expects to download and display.&lt;/p&gt;
&lt;p&gt;Malformed HTTP response often results in unexpected (and different) behavior between browsers.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#8946138</link><pubDate>Fri, 12 Sep 2008 13:12:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8946138</guid><dc:creator>Raja</dc:creator><description>&lt;p&gt;Hi david,&lt;/p&gt;
&lt;p&gt;I want to run .exe file in my server .first i try it in my localhost like as you metioned i add a webservice extension and i try to execute it cause an exception as follows&lt;/p&gt;
&lt;p&gt;ExitCode = 'command.ExitCode' threw an exception of type 'System.InvalidOperationException'&lt;/p&gt;
&lt;p&gt;Please &amp;nbsp;help me.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9025939</link><pubDate>Fri, 31 Oct 2008 07:49:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9025939</guid><dc:creator>Avinash Goyal</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;I have been running into a problem. I have .sitx file which macintosh compressed file like .zip file. On our local environment we have IIS 5.1. Whenever I download .sitx file from my local environment it does good. It shows me 'File download' window. But on Production environment I have IIS 6.0, it is showing me 'File Not Found' error.&lt;/p&gt;
&lt;p&gt;Please suggest a solution to this.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Avinash&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9027190</link><pubDate>Fri, 31 Oct 2008 22:37:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9027190</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Avinash - the solution is actually mentioned in this blog entry. You want action #1 to happen, and the blog entry tells you how to do that.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9145849</link><pubDate>Thu, 27 Nov 2008 08:10:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9145849</guid><dc:creator>Amit</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am facing problem in downloading .exe file from asp.net website which is hosted on IIS7 and Windows Server 2008.&lt;/p&gt;
&lt;p&gt;The following error comes when i am trying to download .exe file :&lt;/p&gt;
&lt;p&gt;HTTP Error 404.2 - Not Found&lt;/p&gt;
&lt;p&gt;The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.&lt;/p&gt;
&lt;p&gt;It is perfactly working in IIS6 and windows server 2003.&lt;/p&gt;
&lt;p&gt; Any help is appreciated.&lt;/p&gt;
&lt;p&gt; Thanks &amp;amp; Regards,&lt;/p&gt;
&lt;p&gt;Amit &lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9149582</link><pubDate>Fri, 28 Nov 2008 07:44:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9149582</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Amit - please read this blog entry for the solution. If you configure IIS7 the same as IIS6, it will work perfectly as well.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9160349</link><pubDate>Mon, 01 Dec 2008 15:45:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9160349</guid><dc:creator>Amit</dc:creator><description>&lt;p&gt;Hello David,&lt;/p&gt;
&lt;p&gt;Thanks for your quick reply.&lt;/p&gt;
&lt;p&gt;I have tried to follow your steps but still i am not able to download *.exe file from my webiste hosted on IIS7 and Windows Server 2008.&lt;/p&gt;
&lt;p&gt;For your reference, here i am listing some of my IIS settings.&lt;/p&gt;
&lt;p&gt;ISAPI and CGI Restrictions&lt;/p&gt;
&lt;p&gt;description = Active Server Pages &amp;nbsp; &lt;/p&gt;
&lt;p&gt;Restrictions = Allowed&lt;/p&gt;
&lt;p&gt;Path=c:\windows\system32\inetsrv\asp.dll&lt;/p&gt;
&lt;p&gt;description = ASP .NET v2.0.50727&lt;/p&gt;
&lt;p&gt;Restrictions = Allowed&lt;/p&gt;
&lt;p&gt;Path=C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll&lt;/p&gt;
&lt;p&gt;description = [No Description]&lt;/p&gt;
&lt;p&gt;Restrictions = Allowed&lt;/p&gt;
&lt;p&gt;Path=C:\Perl\bin\perl.exe &amp;quot;%s&amp;quot; %s&lt;/p&gt;
&lt;p&gt;description = [No Description]&lt;/p&gt;
&lt;p&gt;Restrictions = Allowed&lt;/p&gt;
&lt;p&gt;Path=C:\Perl\bin\perlis.dll&lt;/p&gt;
&lt;p&gt;description = [No Description]&lt;/p&gt;
&lt;p&gt;Restrictions = Allowed&lt;/p&gt;
&lt;p&gt;Path=C:\Perl\bin\PerlEx30.dll&lt;/p&gt;
&lt;p&gt;Handler Mappings on Site Level&lt;/p&gt;
&lt;p&gt;name=CGI-exe &amp;nbsp;path=*.exe stat=Enabled &lt;/p&gt;
&lt;p&gt;path type=File &lt;/p&gt;
&lt;p&gt;handler=CgiModule &lt;/p&gt;
&lt;p&gt;Access -&amp;gt;Read&lt;/p&gt;
&lt;p&gt;name=ISAPI-dll &amp;nbsp;path=*.dll stat=Enabled &lt;/p&gt;
&lt;p&gt;path type=File &lt;/p&gt;
&lt;p&gt;handler=IsapiModule &lt;/p&gt;
&lt;p&gt;Access -&amp;gt;Read&lt;/p&gt;
&lt;p&gt;If you get any idea from the above information then please suggest me what other settings should i do? Or if you want some more information about my iis settings then pls let me know.&lt;/p&gt;
&lt;p&gt;Any help is appreciated.&lt;/p&gt;
&lt;p&gt;Thanks &amp;amp; Regards,&lt;/p&gt;
&lt;p&gt;Amit&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9256785</link><pubDate>Tue, 30 Dec 2008 11:21:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9256785</guid><dc:creator>Ofer</dc:creator><description>&lt;p&gt;Hello David,&lt;/p&gt;
&lt;p&gt;I am able to download an .exe file from IIS 6.0, but the progress bar shows &amp;quot;Estimated time left : Not Known&amp;quot;, while if I change the extension of the file (lets say .dmg), I get the right estimation.&lt;/p&gt;
&lt;p&gt;What might cause that?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Ofer&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9269921</link><pubDate>Sat, 03 Jan 2009 03:57:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9269921</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Ofer - something is configured on IIS to cause the .exe extension to be transferred via chunked encoding instead of content-length. Since chunked encoding means &amp;quot;keep downloading until the server tells the browser it is done&amp;quot;, it is not possible for the browser to estimate number of bytes remaining and hence impossible to estimate time left.&lt;/p&gt;
&lt;p&gt;The default behavior on IIS for static files like .exe is content-length, which gives the same behavior as .dmg.&lt;/p&gt;
&lt;p&gt;Thus, something on the server is configured to transfer .exe as chunked encoding. An ISAPI Filter or Application Mapping for * or .exe can result in this behavior.&lt;/p&gt;
&lt;p&gt;Since this non-default behavior is due to user configuration, you will have to determine whether that configuration is necessary and if not, remove it. Then .exe will download with content-length as expected.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9269927</link><pubDate>Sat, 03 Jan 2009 04:07:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9269927</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Amit - You need to remove the handler mappings you added at the site level for CGI-EXE and ISAPI-DLL. They are incorrect and cause your issue.&lt;/p&gt;
&lt;p&gt;FYI: This is what your handler mapping definition is actually saying.&lt;/p&gt;
&lt;p&gt;It tells IIS to *launch* any EXE as CGI on the server-side whenever the resource is accessed by a client for download. That is clearly not what you want - you want IIS to send the EXE as download whenever the resource is accessed by a client for download.&lt;/p&gt;
&lt;p&gt;Removing your misconfiguration and adding .EXE MimeType should allow the default IIS configuration to function as you expect.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9271063</link><pubDate>Sun, 04 Jan 2009 10:49:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9271063</guid><dc:creator>Ofer</dc:creator><description>&lt;p&gt;Hello David,&lt;/p&gt;
&lt;p&gt;Thank you for your response. The chuncked encoding hint set me on the right path, and actually I found the solution on another post by you :)&lt;a rel="nofollow" target="_new" href="http://www.eggheadcafe.com/software/aspnet/31045970/compression-and-disablin.aspx"&gt;http://www.eggheadcafe.com/software/aspnet/31045970/compression-and-disablin.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The exe extension was set to be compressed.&lt;/p&gt;
&lt;p&gt;Thank you again,&lt;/p&gt;
&lt;p&gt;Ofer&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9301303</link><pubDate>Fri, 09 Jan 2009 07:17:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9301303</guid><dc:creator>Phillip</dc:creator><description>&lt;p&gt;Thank you so MUCH for this post! &amp;nbsp;Worked like a charm just changing the Execute Permissions.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9317756</link><pubDate>Wed, 14 Jan 2009 04:42:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9317756</guid><dc:creator>st.silvia</dc:creator><description>&lt;p&gt;Defining MIME types in IIS helped me a lot. The issue was that some of the files were downloading (common extensions like &amp;quot;zip&amp;quot;, &amp;quot;doc&amp;quot;), other files with unknown extensions - were not.&lt;/p&gt;
&lt;p&gt;Thank you very much ! This article was a great help !&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9318196</link><pubDate>Wed, 14 Jan 2009 10:53:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9318196</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;st.silvia - Glad you resolved your issue.&lt;/p&gt;
&lt;p&gt;Honestly, I am glad that IIS6 forces the issue of making you define MIME types in IIS or else it refuses to send them as download... because that is the way things should be. Why?&lt;/p&gt;
&lt;p&gt;Because web administrators were lazy at defining MIME types, web browsers had to get incredibly smart at sniffing content to determine content-type so that it knows how to handle downloaded content. This has good and bad implications.&lt;/p&gt;
&lt;p&gt;For example, sending a file to be downloaded, or opened/executed looks EXACTLY the same to the server but are obviously very different user experiences in the web browser. Without the server providing MIME types, the web browser has to guess one way or another -- and web page developers start writing code to fool how each browser sniffs content in order to force the behavior that they wanted -- which is clearly not standards compliant nor solid code.&lt;/p&gt;
&lt;p&gt;If web servers forced the administrator to declare MIME Types from the beginning, web browsers would not need to sniff content, web developers would not need to write browser-specific code to defeat sniffing to achieve their desired client-side behavior, and things would be a lot cleaner today.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9372611</link><pubDate>Fri, 23 Jan 2009 16:26:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9372611</guid><dc:creator>Webwinkel freak</dc:creator><description>&lt;p&gt;Unfortunately this did not answer my question. For some strange reason, EXE files don't completely download anymore. They stop at 98%&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9384372</link><pubDate>Fri, 30 Jan 2009 09:43:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9384372</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Webwinkel freak - This blog entry deals with allowing the EXE to download. If it fails at 98%, your question is completely unrelated to this.&lt;/p&gt;
&lt;p&gt;If you have a reliable repro, I suggest using a network monitor to capture the entire network traffic of the download. Then, you can see whether the problem is due to:&lt;/p&gt;
&lt;p&gt;1. The Server prematurely closing the connection before download is complete&lt;/p&gt;
&lt;p&gt;2. Any mismatch between the number of bytes the server promised to send in the header vs actually sent&lt;/p&gt;
&lt;p&gt;3. Any other network anomaly&lt;/p&gt;
&lt;p&gt;Once you can determine if the problem is on the network or on the server/client, then you can proceed further.&lt;/p&gt;
&lt;p&gt;For example, if you determine the issue is on the server, you will need to examine what handler sent the .EXE download. By default it is the IIS Static File Handler, which doesn't have such issues, so I suspect your system has other custom handlers performing the download -- which means you have to start looking for bugs in those custom handlers.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9398630</link><pubDate>Thu, 05 Feb 2009 17:36:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9398630</guid><dc:creator>Alison</dc:creator><description>&lt;p&gt;Thanks David, I found this article helpful in enabling download of dxb files. &amp;nbsp;Worked like a charm!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9413559</link><pubDate>Thu, 12 Feb 2009 01:03:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9413559</guid><dc:creator>Dirk</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;You are a great help. My customer has tried many things to allow exe to download to browser. The product is an application run from a web server. I'm not to up on the networking stuff but I have it running from our web server (third party)....no problems. What happens is you click on a link on a web page, a couple downloads happen (one of which is the exe) and then the application runs.....fetching content (resources) from the server as needed. The site is getting a 404 error (just 404)....Object not found....although the file is there. The site is using IIS5.0.&lt;/p&gt;
&lt;p&gt;Please help.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9432812</link><pubDate>Thu, 19 Feb 2009 02:55:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9432812</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Dirk - I suggest you read the threads of this post to find clues to answer your question. It is why I allow unlimited anonymous comments -- to gather collective community knowledge and experience.&lt;/p&gt;
&lt;p&gt;I suspect you will find searching for &amp;quot;URLScan&amp;quot; useful.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9482377</link><pubDate>Tue, 17 Mar 2009 06:58:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9482377</guid><dc:creator>Rick</dc:creator><description>&lt;p&gt;Thanks David. &amp;nbsp;This solved my problem and I learned something.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9515017</link><pubDate>Fri, 27 Mar 2009 23:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9515017</guid><dc:creator>teenzbutler</dc:creator><description>&lt;p&gt;I have an .exe file in my CGI BIN that I would like users to be able to run scripts and execute. &amp;nbsp;I have two servers running IIS 6.0 (WS 2003 and WS 2008). &amp;nbsp;My 2003 system works great. &amp;nbsp;All permissions are in place with no problem. &amp;nbsp;My 2008 is not working. &amp;nbsp;When I access the .exe file, I receive 404 file not found error in my browser. &amp;nbsp;I have read through the posts and am confused. &amp;nbsp;The interface in WS 2008 is completely different than 2003. &amp;nbsp;I can't find the Web Server Extension or the execute permissions for the CGI BIN. &amp;nbsp;In 2003 you right click on CGI BIN and the execute permissions are right there in front of you. &amp;nbsp;In 2008 you right click the CGI BIN and you get the security permissions tab as you would on a windows folder/file. &amp;nbsp;The only area I could find the Script and Execute functions was within the Server Components section under Handler Mappings. &amp;nbsp;I am not sure if there is where I need to be. &amp;nbsp; I was also reading about virtual directories. &amp;nbsp;Do I need to create one of those under the CGI BIN? &amp;nbsp; Any help is much appreciated.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9517072</link><pubDate>Sun, 29 Mar 2009 15:37:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9517072</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;teenzbutler - IIS7 retains much of the same features of IIS6 (and adds some new features of its own).&lt;/p&gt;
&lt;p&gt;Execute Permissions and Web Service Extensions are concepts still retained in IIS7, and the IIS7 UI allows you to configure them, just in different locations. You found the place for Execute Permissions. The Web Service Extensions got renamed to CGI/ISAPI because that was what it configured.&lt;/p&gt;
&lt;p&gt;Virtual Directories have no relation to this issue because it defines a virtual-to-physical mapping (i.e. which filesystem directory corresponds to the virtual directory's name), which has nothing to do with ability to execute scripts and executables.&lt;/p&gt;
&lt;p&gt;I view the IIS7 UI as a &amp;quot;test&amp;quot; to see if the user actually understood the concepts of what was being configured, or if the user just remembered to always right click properties, select the second tab, third button, click two check boxes and then OK out of everything to configure something.&lt;/p&gt;
&lt;p&gt;In other words, the IIS6 UI is like a glorified 'regedit' tool, and one quickly got used to &amp;quot;right click properties&amp;quot; on an object to get to the various property pages that contained what you wanted to configure. There is often very little logical coherence in those property tabs, and useful configuration were ofter buried four levels deep. But, people prove to be highly adaptive and &amp;quot;learned&amp;quot; where they were.&lt;/p&gt;
&lt;p&gt;IIS7 UI is different -- it is Task oriented. You still have the familiar Tree view (people loudly complained when we didn't have it in beta originally), but instead of &amp;quot;right click properties&amp;quot;, you now need to select the object to find a filtered list of applicable configuration choices in the center and a list of common, context-sensitive tasks in the right pane.&lt;/p&gt;
&lt;p&gt;The logic becomes &amp;quot;choose this task for this object&amp;quot; instead of &amp;quot;right click properties for this object&amp;quot;. It is a subtle but profound change, and while users will certainly complain at any change, I believe that it is a worthwhile and gutsy change initiated by the IIS7 UI. Once you get used to the UI and concepts, you should find that IIS7's core behaviors and functions a little better. IIS7 brings a lot of good things to the table, and it will be good to learn about it.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9519203</link><pubDate>Mon, 30 Mar 2009 18:16:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9519203</guid><dc:creator>teenzbutler</dc:creator><description>&lt;p&gt;Thanks for your reply. &amp;nbsp;Unfortunately, I don't see the CGI/ISAPI feature on the Features screen. &amp;nbsp;This is why I am confused. &amp;nbsp;Does this feature need to be invoked some how?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9519342</link><pubDate>Mon, 30 Mar 2009 19:10:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9519342</guid><dc:creator>teenzbutler</dc:creator><description>&lt;p&gt;Thanks for you reply. &amp;nbsp;I don't see the CGI/ISAPI feature anywhere on the feature screen. &amp;nbsp;Does this need to be invoked some how?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9523605</link><pubDate>Tue, 31 Mar 2009 21:43:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9523605</guid><dc:creator>teenzbutler</dc:creator><description>&lt;p&gt;I found exactly what I need from this article. &amp;nbsp;It makes so much sense. &amp;nbsp;My CGI script is working perfectly! &amp;nbsp;I hope this helps others: &lt;a rel="nofollow" target="_new" href="http://www.wrensoft.com/zoom/support/faq_cgi_iis.html"&gt;http://www.wrensoft.com/zoom/support/faq_cgi_iis.html&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9527691</link><pubDate>Wed, 01 Apr 2009 22:46:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9527691</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;teenzbutler - did you install the CGI Feature to be able to run that .exe? It is not installed on IIS7 by default.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9602408</link><pubDate>Mon, 11 May 2009 14:15:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9602408</guid><dc:creator>Tamer</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;How can I enable download of a &amp;quot;*.rar&amp;quot; file. &lt;/p&gt;
&lt;p&gt;When I try to access the file via browser, I get the following error:&lt;/p&gt;
&lt;p&gt;&amp;quot;You are not authorized to view this page&lt;/p&gt;
&lt;p&gt;You do not have permission to view this directory or page due to the access control list (ACL) that is configured for this resource on the Web server.&amp;quot;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9643728</link><pubDate>Wed, 27 May 2009 09:27:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9643728</guid><dc:creator>Amit</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;Thanks for the article. It worked for me.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9699197</link><pubDate>Thu, 04 Jun 2009 14:01:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9699197</guid><dc:creator>Russian</dc:creator><description>&lt;p&gt;Thank you very much!!! Really helpful information.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9833163</link><pubDate>Tue, 14 Jul 2009 17:09:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9833163</guid><dc:creator>Rajesh</dc:creator><description>&lt;p&gt;How can i download files with filename in japanese characters (収益認識.txt). i am getting a 404 error.working fine for english file names.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Allow file downloads (including .exe) on IIS 6.0</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/11/Allow-file-downloads-on-IIS-6.aspx#9893359</link><pubDate>Thu, 10 Sep 2009 01:10:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9893359</guid><dc:creator>M.Venkat</dc:creator><description>&lt;p&gt;Hi David&lt;/p&gt;
&lt;p&gt;I had gone through the article and registered MIME types, still i am facing the issues.&lt;/p&gt;
&lt;p&gt;Issue: I am trying to download doc,docx,ppt and pptx from my .net website, hosted on Windows 2003 and IIS 6.0. It is saying &amp;quot;Unknown file type&amp;quot; for ppt and pptx, &amp;quot;wordpad document&amp;quot; for doc and &amp;quot;Compressed(zip folder)&amp;quot; for docx.&lt;/p&gt;
&lt;p&gt;Please let me know Am i missed out any configuration or Is there any other fix for this. &lt;/p&gt;
&lt;p&gt;Just for your information, I have registered the MIME types at IIS level not at default site or at my site.&lt;/p&gt;
&lt;p&gt;Thank you in advance for your help&lt;/p&gt;
</description></item></channel></rss>