hyyly / csexwb2

Automatically exported from code.google.com/p/csexwb2
0 stars 0 forks source link

Unable to download zip files in IE9 #107

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
For original discussion please refer to this post.

http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/3f99
12b8-e14a-4849-8fa3-b233e4e8640e/

When I download for example .pdf, .exe, .gz or .7z file, the 
IBindStatusCallback implementation is called in following way:

- GetBindInfo
 - OnStartBinding
 - OnProgress (BINDSTATUS_BEGINDOWNLOADDATA)
 - OnProgress (BINDSTATUS_CACHEFILENAMEAVAILABLE)
 - OnDataAvailable
 - OnProgress (BINDSTATUS_DOWNLOADINGDATA)
 - OnDataAvailable
 - OnProgress (BINDSTATUS_DOWNLOADINGDATA)
 ...
 - OnDataAvailable
 - OnProgress (BINDSTATUS_ENDDOWNLOADDATA)
 - OnDataAvailable
 ...
 - OnStopBinding

File is now fully downloaded and saved on disk.

But when I download .zip file, the IBindStatusCallback implementation is called 
in following way:

- GetBindInfo
 - OnStartBinding
 - OnProgress (BINDSTATUS_BEGINDOWNLOADDATA)
 - OnProgress (BINDSTATUS_CACHEFILENAMEAVAILABLE)
 - OnDataAvailable

Now application blocks, no more OnProgress or OnDataAvailable call. Last Read() 
on stream in OnDataAvailable returned E_PENDING so I expect more calls to 
OnProgress and OnDataAvailable, but nothing, application just hangs.

This works correctly in IE7 and IE8. I tested this with multiple pages, files, 
on multiple machines with IE9. 

I found a reason of this behavior. If you have default .zip files association - 
Compressed folder feature in Windows - there are two download dialogs opened 
for all .zip files and IBindStatusCallback implementation can't handle this. 
Solution is to remove or change association of .zip files (instal for example 
7Zip). Then only one download dialog is displayed and everything works 
correctly.

Now the issue is whether there's something that we can do in the browser's code?

Original issue reported on code.google.com by prasoonp...@gmail.com on 27 Aug 2011 at 7:33