IE7 embedded webbrowser control and SWF/PDF files
My app embeds a webbrowser control. One issue I notice after installing IE7 is that if I browse directly to a SWF or PDF in the webbrowser control, the page is blank. If I browse to an html page that embeds a SWF, it works fine. Browsing directly to a SWF or PDF in my embedded webbrowser control works fine in IE6. Am I missing a flag/setting when creating my webbrowser control?
BTW - I'm using WinXP SP2. If I browse to the SWF or PDF in standalone IE7, it works fine.
Answers
Jake-
A KB article is coming out shortly about this issue. However, here's the short version:
This error is occurring because of an unforeseen dependency between an IE6 XPSP2 security feature (Local Machine Zone Lockdown) and a new IE7 security feature designed to protect users from improper cross-domain access to their local file system. Until the dependency is corrected, users may correct the problem through one of two possible workarounds (below).
Workaround:
Two options are available—each option has a potential side-effect. The first option is to opt-in the 3rd party application into the Local Machine Zone Lockdown feature control key. This is the recommended option. It allows the 3rd party application experiencing the problem to be more secure by tightening restrictions on several URL actions that make the local file system zone more protected than the Internet Zone (this has potential compatibility implications). Users should read Compatibility in IE6 for Windows XP SP2 under the section Local Machine Zone Lockdown, for more information.
To opt-in to Local Machine Zone Lockdown:
1. Click “Start”, “Run”.
2. Enter “regedit”
3. Find and select the following registry entry:
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_LOCALMACHINE_LOCKDOWN4. Click “Edit”, “New”, and “DWORD”
5. The name should be set to the process name of the application experiencing the problem. For example, if the application is mybrowser.exe, then enter “mybrowser.exe” (without the quotes)
6. The Value (double-click on the newly created entry) should be set to “1” (this opts the process into this feature, enabling the workaround)
7. Close the Registry Editor
8. Close all open instances of the affected process (and IE) and restart the program.
The second option is to opt-out of the new cross-domain protection feature (which blocks access to scripts on the local file system). Opting your application out of this feature leaves it vulnerable to web sites that may scan your computer looking for script files or other information. If your application is designed to host arbitrary content, this option is not recommended.
To opt-out of the cross-domain protection feature:
1. Click “Start”, “Run”.
2. Enter “regedit”
3. Find and select the following registry entry:
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl4. Click “Edit”, “New”, and “Key”
5. Enter FEATURE_BLOCK_LMZ_SCRIPT
6. Next, click “Edit”, “New”, and “DWORD”
7. The name should be set to the process name of the application experiencing the problem. For example, if the application is mybrowser.exe, then enter “mybrowser.exe” (without the quotes)
8. The Value (double-click on the newly created entry) should be set to “0” (this opts the process out of this feature, enabling the workaround)
9. Close the Registry Editor
10. Close all open instances of the affected process (and IE) and restart the program.
All Replies
Jake-
A KB article is coming out shortly about this issue. However, here's the short version:
This error is occurring because of an unforeseen dependency between an IE6 XPSP2 security feature (Local Machine Zone Lockdown) and a new IE7 security feature designed to protect users from improper cross-domain access to their local file system. Until the dependency is corrected, users may correct the problem through one of two possible workarounds (below).
Workaround:
Two options are available—each option has a potential side-effect. The first option is to opt-in the 3rd party application into the Local Machine Zone Lockdown feature control key. This is the recommended option. It allows the 3rd party application experiencing the problem to be more secure by tightening restrictions on several URL actions that make the local file system zone more protected than the Internet Zone (this has potential compatibility implications). Users should read Compatibility in IE6 for Windows XP SP2 under the section Local Machine Zone Lockdown, for more information.
To opt-in to Local Machine Zone Lockdown:
1. Click “Start”, “Run”.
2. Enter “regedit”
3. Find and select the following registry entry:
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_LOCALMACHINE_LOCKDOWN4. Click “Edit”, “New”, and “DWORD”
5. The name should be set to the process name of the application experiencing the problem. For example, if the application is mybrowser.exe, then enter “mybrowser.exe” (without the quotes)
6. The Value (double-click on the newly created entry) should be set to “1” (this opts the process into this feature, enabling the workaround)
7. Close the Registry Editor
8. Close all open instances of the affected process (and IE) and restart the program.
The second option is to opt-out of the new cross-domain protection feature (which blocks access to scripts on the local file system). Opting your application out of this feature leaves it vulnerable to web sites that may scan your computer looking for script files or other information. If your application is designed to host arbitrary content, this option is not recommended.
To opt-out of the cross-domain protection feature:
1. Click “Start”, “Run”.
2. Enter “regedit”
3. Find and select the following registry entry:
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl4. Click “Edit”, “New”, and “Key”
5. Enter FEATURE_BLOCK_LMZ_SCRIPT
6. Next, click “Edit”, “New”, and “DWORD”
7. The name should be set to the process name of the application experiencing the problem. For example, if the application is mybrowser.exe, then enter “mybrowser.exe” (without the quotes)
8. The Value (double-click on the newly created entry) should be set to “0” (this opts the process out of this feature, enabling the workaround)
9. Close the Registry Editor
10. Close all open instances of the affected process (and IE) and restart the program.
To All,
This is the first fix on this issue after many hundreds of online posts/blogs. I am looking fwd to the KB Article. I made both suggested registry changes which allowed me to view swf files off line from my local machine. I also sent Adobe the link to this pending KB>
Regards,
Dave
I edited the registry to opt-in the lockdown feature, however, I still am unable to view any .swf files.
I am wondering if there is another security setting or flag that needs to be changed to allow these files.
I also tried to use option 2, but have the same result.....a blank page with an error.
- What??? Is there going to be a fix by Microsoft, or is this just another one of those 'unforeseen issues', that us, the end user will have to deal with by paying someone that actually knows what you are talking about to fix this problem for us under-computer-knowledged people.
I agree. I am hoping that next month's updates address this problem. It is keeping me from propagating IE7 to other systems.
Bill
where can i find a freeware program that fully converts .swf file to its original format of .fla file
please help
Now I have found another issue I need help with.
Since I have installed IE7, anytime I click on a link, my computer slows down (to a crawl at best) until the page is loaded. Then everything seems to run normal (browsing, scrolling, printing, etc.).
Anyone have any ideas or suggestions as to why it takes so long to access a link from within IE7.......wish I had 6 back !
Thanks in advance.
I started the REGEDIT and the FEATURE_LOCALMACHINE_LOCKDOWN already had an entry for iexplore.exe with a 1 in the VALUE field.
The second entry (FEATURE_BLOCK_LMZ_SCRIPT was not present so I created it as directed in the documentation and set the program to iexplore.exe and left the VALUE at 0.
I rebooted and my swf files are now working!!
Thanks so much.
Bill
- I am having the same problem, however, it's only in my Outlook Express emails. When I open an email with the file extension .swf I get a blank page. Nothing I do seems to help.
MY application generates a PDF file, it loads the PDF shows the text I have embedded (token from a database) but is ignores the embedded pictures.
It is a typical IE7 issue becouse when I load that page with Firefox or Opera the page is shown properly including the pictures..
I have searched through all settings, but can not find a reason why the embedded pictures are blocked. Is it possible that this is a securety issue as well like posted above in some answers ?
I am using WinXP SP2 home edition.
Has that kb article come out yet?
Also the reference to "Compatibility in IE6 for Windows XP SP2 under the section Local Machine Zone Lockdown" talks about the CoInternetSetFeatureEnabled function.
Can anyone provide an example of how to implement this function in c#?
Thanks, Tad
- Thank you so much for this post! I was going crazy trying to do research because I couldn't get pdf files to come up on my machine...and I've got the Adobe Professional version! Thank you, thank you, thank you!
How do you determine which application is causing the problem? I have several site which will not play imbedded video but I don't get an error message; just a blank page.
Thanks, Dave
I do not get an error message about Flash and I have the most recent one. I get "Internet Explorer cannot display the web page".
Googled everywhere, tried everything but still doesn't work. The steps given are clear, except 7. How do I know my process name? I just tried to open a web site (adobe) containing .swf file.
I also have an eLearning that contains .swf file. It probably ended up the same on IE 7 like the link below. No one can open it unless it's embedded in html file or use a different browser. Can someone try to open this simulation on IE7 and see if it works on yours: http://adobe.landingpage1.com/captivate/cptv3/?sdid=BPDWS&s_kwcid=captivate|1049906078.
If it works, please advise how you make it works, please.
I know this is old, but I came across it trying to help someone else...
Because the WebBrowser works as expected when the SWF or PDF is embedded in an html page, you can get this to work by checking the target URL for those extensions, and then just embedding the target object in an appropriate html shell and setting the WebBrowser's documenttext property:
Code SnippetMe.WebBrowser1.DocumentText = "<html><body><embed src=""http://youtube.com/v/sJD7yYQKzsg.swf"" quality=high pluginspage=""http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"" type=""application/x-shockwave-flash""></embed></body></html> "
Obviously, this would be a bit different for a .pdf, but it is the same idea.


