The file you are downloading cannot be opened by the default program.

  • Thread starter Thread starter Ian Boyd
  • Start date Start date
I

Ian Boyd

When trying to open almost any media in Internet Explorer:

"The file you are downloading cannot be opened by the default program. It is
either corrupted or it has an incorrect file type. As a security precaution,
it is recommended that you cancel the download."


That's obviously a lie, since if i save it to my hard-drive, it in fact CAN
be opened by the default program (i.e. double-clicking). So, it is not
corrupted nor does it have an incorrect file type.

So what gives?


Example
http://www.sog10.com/fprotect/gallery01/fr025_11/m01.mpg?381318182216380

Send
====
GET /fprotect/gallery01/fr025_11/m01.mpg?381318182216380 HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/x-shockwave-flash, application/vnd.ms-excel, application/msword,
*/*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
1.1.4322; .NET CLR 2.0.50215; Avalon 6.0.5070; WinFX RunTime 3.0.50215)
Host: www.sog10.com
Connection: Keep-Alive

Response
========
HTTP/1.1 200 OK
Server: Zeus/3.4
Date: Fri, 16 Dec 2005 12:42:22 GMT
Content-Length: 1892356
Status: 200
Content-Type: video/mpeg
Last-Modified: Mon, 26 Sep 2005 13:08:25 GMT

From the server:
Content-Type: video/mpeg

From my registry:
HKCR\MIME\Database\Content Type\video/mpeg
Extension: mpeg

HKCR\.mpeg
(defaut): mpegfile
Content Type: video/mpeg

HKCR\mpegfile\shell\open\command
(defautl): "C:\Program Files\Media Player Classic\mplayerc.exe" "%1"

That's all that ie needs to know. If i double-click the clip it runs
fine. The content type supplied by the server matches the content type of
mpeg defined by my system.

i am not the only person to have this SP2 related problem.
http://tinyurl.com/76g88
http://tinyurl.com/dcodf
http://tinyurl.com/7dpwx
http://tinyurl.com/89vsy
http://tinyurl.com/7scdh
http://tinyurl.com/d5emn
http://tinyurl.com/8uxrc
http://tinyurl.com/9q6nd
http://tinyurl.com/b3wxv
http://tinyurl.com/7bvq2
http://tinyurl.com/884m3
http://tinyurl.com/dz6v9
http://tinyurl.com/bb8on
http://tinyurl.com/8mo3k
http://tinyurl.com/af2sm
http://tinyurl.com/aqxva
http://tinyurl.com/czcnc
http://tinyurl.com/9ts29
http://tinyurl.com/7mtsn
http://tinyurl.com/a6tyv
http://tinyurl.com/cl3w9
http://tinyurl.com/9wjb6
http://tinyurl.com/9hwtm
http://tinyurl.com/8lrxl
http://tinyurl.com/c6hhp
http://tinyurl.com/dvt9r
http://tinyurl.com/ap3sb
http://tinyurl.com/chfkd
http://tinyurl.com/83j78
http://tinyurl.com/bl9oc
http://tinyurl.com/7lwpo
http://tinyurl.com/9ebhq
http://tinyurl.com/aahdr
http://tinyurl.com/7enyw
http://tinyurl.com/97yry
http://tinyurl.com/8asvx
http://tinyurl.com/dkv76
http://tinyurl.com/8pfch
http://tinyurl.com/8uuub
http://tinyurl.com/bjfze
http://tinyurl.com/7k5jq
http://tinyurl.com/b4t3u
http://tinyurl.com/cu7sw
http://tinyurl.com/dqdpx
http://tinyurl.com/7csty
http://tinyurl.com/cmv57
http://tinyurl.com/89yp2
http://tinyurl.com/aydh4
http://tinyurl.com/d4hjo
http://tinyurl.com/afwvl
http://tinyurl.com/9yj97
http://tinyurl.com/dffmc
http://tinyurl.com/8jwrn
http://tinyurl.com/98sww
http://tinyurl.com/9orzv
 
And, your IIS question is?

| When trying to open almost any media in Internet Explorer:
|
| "The file you are downloading cannot be opened by the default program. It
is
| either corrupted or it has an incorrect file type. As a security
precaution,
| it is recommended that you cancel the download."
|
|
| That's obviously a lie, since if i save it to my hard-drive, it in fact
CAN
| be opened by the default program (i.e. double-clicking). So, it is not
| corrupted nor does it have an incorrect file type.
|
| So what gives?
|
|
| Example
| http://www.sog10.com/fprotect/gallery01/fr025_11/m01.mpg?381318182216380
|
| Send
| ====
| GET /fprotect/gallery01/fr025_11/m01.mpg?381318182216380 HTTP/1.1
| Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
| application/x-shockwave-flash, application/vnd.ms-excel,
application/msword,
| */*
| Accept-Language: en-us
| Accept-Encoding: gzip, deflate
| User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
CLR
| 1.1.4322; .NET CLR 2.0.50215; Avalon 6.0.5070; WinFX RunTime 3.0.50215)
| Host: www.sog10.com
| Connection: Keep-Alive
|
| Response
| ========
| HTTP/1.1 200 OK
| Server: Zeus/3.4
| Date: Fri, 16 Dec 2005 12:42:22 GMT
| Content-Length: 1892356
| Status: 200
| Content-Type: video/mpeg
| Last-Modified: Mon, 26 Sep 2005 13:08:25 GMT
|
| From the server:
| Content-Type: video/mpeg
|
| From my registry:
| HKCR\MIME\Database\Content Type\video/mpeg
| Extension: mpeg
|
| HKCR\.mpeg
| (defaut): mpegfile
| Content Type: video/mpeg
|
| HKCR\mpegfile\shell\open\command
| (defautl): "C:\Program Files\Media Player Classic\mplayerc.exe"
"%1"
|
| That's all that ie needs to know. If i double-click the clip it runs
| fine. The content type supplied by the server matches the content type of
| mpeg defined by my system.
|
| i am not the only person to have this SP2 related problem.
| http://tinyurl.com/76g88
| http://tinyurl.com/dcodf
| http://tinyurl.com/7dpwx
| http://tinyurl.com/89vsy
| http://tinyurl.com/7scdh
| http://tinyurl.com/d5emn
| http://tinyurl.com/8uxrc
| http://tinyurl.com/9q6nd
| http://tinyurl.com/b3wxv
| http://tinyurl.com/7bvq2
| http://tinyurl.com/884m3
| http://tinyurl.com/dz6v9
| http://tinyurl.com/bb8on
| http://tinyurl.com/8mo3k
| http://tinyurl.com/af2sm
| http://tinyurl.com/aqxva
| http://tinyurl.com/czcnc
| http://tinyurl.com/9ts29
| http://tinyurl.com/7mtsn
| http://tinyurl.com/a6tyv
| http://tinyurl.com/cl3w9
| http://tinyurl.com/9wjb6
| http://tinyurl.com/9hwtm
| http://tinyurl.com/8lrxl
| http://tinyurl.com/c6hhp
| http://tinyurl.com/dvt9r
| http://tinyurl.com/ap3sb
| http://tinyurl.com/chfkd
| http://tinyurl.com/83j78
| http://tinyurl.com/bl9oc
| http://tinyurl.com/7lwpo
| http://tinyurl.com/9ebhq
| http://tinyurl.com/aahdr
| http://tinyurl.com/7enyw
| http://tinyurl.com/97yry
| http://tinyurl.com/8asvx
| http://tinyurl.com/dkv76
| http://tinyurl.com/8pfch
| http://tinyurl.com/8uuub
| http://tinyurl.com/bjfze
| http://tinyurl.com/7k5jq
| http://tinyurl.com/b4t3u
| http://tinyurl.com/cu7sw
| http://tinyurl.com/dqdpx
| http://tinyurl.com/7csty
| http://tinyurl.com/cmv57
| http://tinyurl.com/89yp2
| http://tinyurl.com/aydh4
| http://tinyurl.com/d4hjo
| http://tinyurl.com/afwvl
| http://tinyurl.com/9yj97
| http://tinyurl.com/dffmc
| http://tinyurl.com/8jwrn
| http://tinyurl.com/98sww
| http://tinyurl.com/9orzv
|
|
 
A: That URL doesn't work.
B: I'm betting you have HKCR\mpegfile\shell\open, "LegacyDisable" set.
C: I'm betting you have HKCR\MIME\Database\Content Type\video/mpeg, "CLSID"
set.

This would be a bug in how MPC does registration. I personally alerted Gabe
to this bug well over a year ago, so if you're still hitting this bug,
either your MPC is WAY out of date, or he hasn't updated his software. I
suspect the former.

[I dumped IIS off the the crosspost. Of interest is IE and WMP.]

You're guessing mostly right here, but not all the way. IE is getting the
URL. IE is checking the CLSID value first. That is handled by WMP because
MPC doesn't reset it. WMP sees that MPC is the shell handler so fails over
to MPC. IE shellexecutes against MPEGFile, which does NOT point to MPC
because MPC reuses the WMP ProgId without resetting LegacyDisable (a big
no-no, and thus making their registration a no-op!), and thus a strict IE
security check fails.

So the net net is: the MPC team is aware of this bug and should have fixed
this by now. You don't mention what version of MPC you're using so it's
hard to provide much more data, but hopefully I've been able to correctly
deduce exactly what is going on even from the insufficient info supplied
here.

-Zach
 
And, your IIS question is?

IIS is a web-server.
Web-servers send files to clients.
It is a "security" feature that is preventing a lot of people from properly
receiving files from a web-server.

What hotfix can be applied to IIS4,5,6+ so that files no longer have "an
incorrect file type" as indicated by the IIS server?
 
That's shell, and not what you're asking about, actually. If you search
MSDN, you'll see references to what I mentioned. LegacyDisable is a part
of the documented shell associations, and CLSID is a documented part of the
IE assocations (specifically required for IPersistMoniker support).

I'm personally unaware of an absolutely cohesive document that details file
associations from an absolute entry point in IE to the absolute last
possible handling case. I would suggest that WMP is pretty interesting to
track if you're pretty curious, since it has to plug into most of the Win32
association methods.

If you're trolling for documentation, troll based upon the keywords supplied
here.
If you're trolling for How It Works, get a registry monitor and read the
docs. It's not simple, but it's not rocket science.
If you're trolling for why Media Player Classic is broken, you've gotten
that explanation - MPC is broken and the dev responsible is aware of it. =)

-Zach
--
(speaking for myself and doing this in my free time)
See http://zachd.com/pss/pss.html for some helpful WMP info.
This posting is provided "AS IS" with no warranties, and confers no rights.
--

Ian Boyd said:
So i'm guessing that there is some new procedure in Windows XP/SP2 for
determining how to open a registered file?

i would greatly greatly greatly appreciate a link to a MS article
detailing how Windows now opens a file

All i can find is (watch the wrapping)

http://msdn.microsoft.com/library/d..._extending/fileassociations/fa_file_types.asp

which doesn't mention "LegacyDisable" or ClassIDs.



zachd said:
A: That URL doesn't work.
B: I'm betting you have HKCR\mpegfile\shell\open, "LegacyDisable" set.
C: I'm betting you have HKCR\MIME\Database\Content Type\video/mpeg,
"CLSID" set.

This would be a bug in how MPC does registration. I personally alerted
Gabe to this bug well over a year ago, so if you're still hitting this
bug, either your MPC is WAY out of date, or he hasn't updated his
software. I suspect the former.

[I dumped IIS off the the crosspost. Of interest is IE and WMP.]

You're guessing mostly right here, but not all the way. IE is getting
the URL. IE is checking the CLSID value first. That is handled by WMP
because MPC doesn't reset it. WMP sees that MPC is the shell handler so
fails over to MPC. IE shellexecutes against MPEGFile, which does NOT
point to MPC because MPC reuses the WMP ProgId without resetting
LegacyDisable (a big no-no, and thus making their registration a no-op!),
and thus a strict IE security check fails.

So the net net is: the MPC team is aware of this bug and should have
fixed this by now. You don't mention what version of MPC you're using so
it's hard to provide much more data, but hopefully I've been able to
correctly deduce exactly what is going on even from the insufficient info
supplied here.

-Zach
 
If you're doing this in your free time, should you be appending your sig
with the [ms] tag?
 
PA Bear said:
If you're doing this in your free time, should you be appending your sig
with the [ms] tag?

It's a pretty standard and quick disclosure of the potential (perceived)
conflict of interest. Much like you would not want to trust any journalist
who did not advise of their affiliation with a covered subject, a technical
agent such as myself who did not disclose the potential COI would again not
be one that I would trust.

Since I actually write file associations as part of my work for WMP, it'd be
incredibly obnoxious of me to leave out my employer in this context. =)

-Zach
 
Back
Top