Chris Jackson Matt Heller Principal Consultant Internet Explorer The App Compat Guy Product Management Microsoft Corporation Microsoft Corporation chrisjacksonmicrosoftcom httpappcompatguycom ID: 378399
Download Presentation The PPT/PDF document "What You Need to Know about Migrating fr..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
What You Need to Know about Migrating from Internet Explorer 6 to Internet Explorer 8
Chris Jackson Matt HellerPrincipal Consultant Internet Explorer“The App Compat Guy” Product ManagementMicrosoft Corporation Microsoft Corporationchris.jackson@microsoft.comhttp://appcompatguy.com @appcompatguy
SESSION CODE: WCL319
What You Need to Know about Migrating from IE6 to IE8Slide2
Tips for Preparing for IE8 App Compat
Understand why you want it!SecurityStandardsLower support costsUser experiencePerformanceManageabilityCompatibilitySpend the time to develop your strategyThis is not a purely technical exercise!Slide3
IE8 App Compat End-to-End
The application compatibility processTools reviewThe debugging processCommon issuesRemediationSlide4
The Application Compatibility Process
Accelerate the project and reduce cost with effective planningSlide5
The Application Compatibility ProjectSlide6
Tuning for Compatibility
Tune the environment early, and fine-tune as a result of your testingSite to Zone Assignment ListTurn on Internet Explorer Standards Mode for Local IntranetUse Policy List of Internet Explorer 7 sitesTurn off Data Execution Prevention(Individual Security Features)See: Part 2 of this webcast series for detailsSlide7
The Importance of Rationalization
Information critical to saving you time and money:If you even need to keep the appHow important the app is to youWhether you require supportDo not underestimate the power of getting an application OUT of your inventory EARLYSlide8
The Application Remediation MatrixSlide9
Remediation Options
Remediation is either fairly easy…Compatibility view / change group policy…or fairly invasiveChange the codeYou may have to iterate on your policy definition as you discover more about your applicationsSlide10
Tools
A quick review of app compat toolsSlide11
Microsoft-Provided Tools
Complete tools review:TechNet Webcast: Thrive Live! Migrating from Internet Explorer 6 to Internet Explorer 8 (Level 300)http://www.microsoft.com/events/series/ie.aspx?tab=Webcasts&seriesid=137&webcastid=12781Expression Web SuperPreviewInternet Explorer Compatibility Test ToolF12 Debugger ToolsFiddlerApplication Compatibility VPCsSlide12
Microsoft-provided application compatibility tools
DEMOSlide13
The Debugging Process
How to troubleshoot issues discovered during testingSlide14
Progressive Escalation Debugging ProcessSlide15
What Happened to DOCTYPEs?
DOCTYPE is the “original” compatibility switchStill required in HTML5 for legacy reasons (opt into standards mode)Challenge:Assumes all browsers completely and equivalently implement web standardsIf this were true, we wouldn’t be here today!X-UA-Compatible is the Internet Explorer switch to select a particular rendering modeSlide16
History of Document Modes
Bottom LineIE6 Standards vs. IE8 Standards more differentIE6 Standards vs. IE5.5 Quirks more similarWorkaround
Try forcing “IE6 Standards” apps into Quirks Mode using IE8 Developer Tools (F12)If it works, change to Quirks doctype
Browser
Release
IE5.5 (2000)
IE6 (2001)
IE
7 (2006)
IE8 (2009)
Document
Modes
IE5.5
Quirks Mode
IE5.5
Quirks Mode
IE5.5
Quirks Mode
IE5.5
Quirks Mode
New!
IE6 Standards Mode
New!
IE7 Standards Mode
IE7 Standards
Mode
New!
IE8
Standards ModeSlide17
IE6 Standards vs. IE5.5 Quirks
What’s New in Internet Explorer 6?Extended SMIL 2.0 HTML+TIME, includes transitionFilter DOM L1
& CSS L1 (CSS1) standardsCustom cursors, including new cursor styles
.
Iframe
SECURITY
NavigateError
event
in
WebBrowser
Control
O
nmousewheel
event
Rendered elements that overflow in width now show ellipses
(...)
Additional focus events are available
Element
behaviors now permit nested literal
content
http://msdn.microsoft.com/en-us/library/ms649478(VS.85).
aspx
Slide18
X-UA-Compatible Impact
Emulate IE8
Emulate IE7
IE5
IE7
IE8
Edge
<!DOCTYPE> Standards
<!DOCTYPE> Quirks
IE 5.5 Quirks
IE 5.5 Quirks
IE 5.5 Quirks
IE 5.5 QuirksSlide19
META Tag Precedence
Who wins?Server notationHeader notationCompatibility View optionSlide20
Determining Compatibility Mode
The rules that the web page is subject to has a significant impact on compatibilityDOCTYPE used to switch between IE6 standardsand QuirksNow, in emulate mode, it switches between IE8 standards and QuirksQuirks may be more compatible with IE6’s implementation of standards than with IE8’s much more strict implementation of standards!Test out using the developer toolsCan permanently either modify the DOCTYPEor X-UA-CompatibleSlide21
Internet Explorer Compatibility Test Tool
Automated testing, implemented by the browser itself, to determine compatibility issues with features of the browserSome can be disabled (though many we recommend a thorough security review before you do)Determining broad incompatibility with a particular feature can suggest a short-term approachIf a security feature is on by default, there is probably significant value in having it on – but it’s usually better to get the value of the rest of the features except that one than to remain on IE6!Slide22
IECTT Events: 1021 - 1028
Event ID
Event NameDescription
Severity
1021
Mime Handling Restrictions
Mismatched file name and MIME type
Low: Additional
prompt
1022
Windows
Restrictions
Previously
hidden elements now shown
Low: Possible rendering and sizing issues
1023
Zone Elevation Restrictions
Scripts cannot access a more trusted site
Moderate:
may break some scripts
1024
Binary Behaviors Restrictions
Unable to use binary behaviors locally
High:
functionality is disabled locally
1025
Object Caching Protection
Unable to access object from
another domain
Moderate: may break some scripts
1026
ActiveX Blocking
Need
to authorize ActiveX controls
Low: Additional prompt
1027
Pop-Up Blocking
Pop-up window will not be shown
High:
windows will not appear
1028
Automatic Download Blocking
Download blocked until authorized
Moderate:
user interaction requiredSlide23
IECTT Events: 1030 - 1037
Event ID
Event NameDescription
Severity
1030
Local Machine Zone Lockdown
Limitations in
local machine zone
Low – Additional prompts
1031
Centralized URL Parsing
Different
results from malformed URLs
High – URL
becomes
unclickable
1032
Internationalized Domain Name Support
Protects against spoofing using
“lookalike” characters
Low – URL will read differently in address bar
1033
Secure Sockets Layer
Blocks against sites with invalid certs
High – Site is
blocked
1034
Cross-Domain Barrier and Script URL Mitigation
Blocks
against scripts running cross-domain
Medium
– script may not work
1035
Anti-Phishing
Blocks access to blacklisted sites
High – Site is
blocked
1036
Manage Add-ons
Indicates a control is disabled
Low – Additional prompts
1037
Protected Mode
Control/
addon
unable to access standard user location
Low – many
are auto-mitigatedSlide24
IECTT Events: 1040 - 1049
Event ID
Event NameDescription
Severity
1040
CSS Fixes
One
of the top 4 CSS rendering issues is discovered
Medium
– may not render correct, but may be usable
1041
UIPI Extension Blocked
Known bad extensions are blocked
High – functionality is blocked
1042
UIPI Cross Process Window Message
Window message sent to higher privilege process
Medium – communication between apps blocked
1046
Cross-Site Scripting Filter
Cross-site scripting attempt is blocked
Medium
– some functionality is blocked
1047
Intranet at
Medium Integrity Level
Navigation from intranet
to Internet
Very Low – generally means nothing
1048
DEP/NX Crash Recovery
Application executed
memory not marked as executable
High – rendering process crashes
1049
Standards
Mode
Page rendered in standards mode without requesting it
Low – page may or may not render correctly (visually inspect)Slide25
IECTT Events: 1056 - 1073
Event ID
Event NameDescription
Severity
1056
File Name Restriction
File path is stripped to the name only in uploads
Low – receiving site shouldn’t care
1058
Codepage
Sniffing
Scripts not detected on pages encoded UTF-7
Medium – scripts will
be escaped
1059
Ajax
Navigation
Navigation manipulates
location hash
Low – simply indicates that Ajax nav. used
1061
Application Protocol
Users must confirm application launch
Low – additional
prompt
1062
Windows Reuse Navigation Restriction
New window required when navigating
from
anoter
context
Medium – site works, but additional window
1064
MIME Sniffing Restrictions – No Image Elevation
Ensures an image isn’t treated as executable when
markup delivered
Medium
– markup won’t be executed
1065
Web Proxy Error Handling Changes
Failing to make secure connection to server
High – No
content rendered
1073
Certificate Filtering
Filters client certificates to those likely to be used
Very low – generally works
as it is supposed to workSlide26
Reducing a web page
Create a local copy of the web pageStrip away the parts of the web page that do not affect the problemPerform testing on the reduced web pageSlide27
Troubleshoot with Developer Tools
After reducing the web page and the style sheet, you can investigate with the debugger toolsWill also want to keep your web browser open to look up the rules for the elements you are working with, to understand the rules being applied!Developer tools support:Dissecting HTMLDissecting CSSInteractive debuggingPerformance profilingFind the source of slow performance!Slide28
The debugging process – going from broken to fixed
DEMOSlide29
Common Issues
Knowing what to expect, so you can recognize themSlide30
IE7 Process ModelSlide31
IE8 Process Model (LCIE)Slide32
Lists or Tables Appear Broken
Frequently caused by unmatched tagsSlide33
Menu doesn’t work
Caused by a bug in ASP.NET – occurs when running in IE8 standards modehttp://support.microsoft.com/kb/962351 Slide34
JavaScript Doesn’t work
Changes to getElementByID()Native support for JSONSlide35
Pop-Up Windows Misbehaving
Restricted access to window.opener propertySlide36
Site Left-Aligned Instead of Centered
Divs not being centered according to standardsSlide37
“Please Upgrade Your Browser”
Use of == instead of >=Failure to detect when in compatibility modeSlide38
Troubleshooting common issues with web apps
DEMOSlide39
Remediation
Fixing compatibility issuesSlide40
Remediation Options
Fixing the code is the best option (if you can afford it)Full “Quirks” compatibilityFull IE7 compatibilityFull IE8 compatibilityModifying policy is typically the second best optionWhen all else fails, it’s good to have a backstop: VirtualizationActually run IE6 on a compatible OSMED-VXP ModeTerminal Services / Windows Server 2003Slide41
Virtualization Options
MED-VPro: With automated web site redirection, provides the best user experienceCon: Requires local resources, incompatible with VDIXP ModePro: Included with many SKUs of Windows 7Con: Requires local resources, incompatible with VDI, user has to select the “right” browserTSPro: Doesn’t require local resourcesCon: Requires additional network, user has to select the “right” browserSlide42
Virtualization for IE6 compatibility
DEMOSlide43
Summary and Best Practices
Rationalize your inventory earlyUse prioritization data to drive behavior (spend more time working on more important apps)Tune your policies for maximum compatibility, and schedule reviews based on subsequent discoveriesUse tools to troubleshoot issues, not discover themUse scenarios to discover issuesResolve issues with code wherever possibleInvest in higher standards compliance for more important appsHave a backstop (and a plan to get out from underneath it as soon as possible – your migration isn’t done until Internet Explorer 6 is gone!)Slide44Slide45
Related Content
Required Slide
Speakers,
please list the Breakout Sessions, Interactive Sessions, Labs and Demo Stations that are related to your session.
WCL204 – What Everyone Should Know about Application Compatibility
WCL301 – Case of the App Compat Bug
WCL314 – Windows
Sysinternals
Primer: Process Explorer, Process Monitor, and More
WCL319 – What You Need to Know about Migrating from Internet Explorer 6 to Internet Explorer 8
WCL401 – Inside the Application Compatibility Toolkit 5.6: Finding, Testing, and Fixing Applications on Windows 7Slide46
Weekly, Monthly and Quarterly Rhythm of Topical Content
What is the Springboard Series?
To the IT pro, our goal is
Be the definitive resource for Desktop IT pros
Open, honest; show don’t tell
Information at right time, right level across Adoption Lifecycle
Inside of Microsoft we are
A turnkey IT pro engagement platform for depth and breadth
The program to mobilize MS marketing and field to
focus on desktop OS IT pros
Visit the Springboard Series on TechNet at www.microsoft.com/springboard
The Springboard Series IT pro experience offers dynamic content
and structured guidance across the adoption lifecycle
DEPLOY
PILOT
MANAGE
EXPLORE
DISCOVER
Is it worth the pain?
How does it change
my
work?
Is our
environment
ready?
Is the organization ready?
How do I maintain
and
optimize?
one-Windows
TechCenter
in 10 languages
Virtual
Roundtable Events
Springboard Technical Experts Panel Event Support
and Resources
Straight-talk Monthly Feature Articles and Overview Guides
TalkingAboutWindows
Video BlogsSlide47
Resources
Required Slide
www.microsoft.com/teched
Sessions On-Demand & Community
Microsoft Certification & Training Resources
Resources for IT Professionals
Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet
http://microsoft.com/msdn
LearningSlide48
Complete an evaluation on
CommNet
and
enter to win!
Required SlideSlide49
Sign up for Tech·Ed 2011 and save $500
starting June 8 – June 31sthttp://northamerica.msteched.com/registration
You can also register at the North America 2011 kiosk located at
registration
Join us in Atlanta next year
Slide50
©
2010 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.Slide51
Required Slide