pat altimore sr. consultant microsoft corporation session code: wcl321

36
Windows Application Readiness for Developers Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Upload: william-weaver

Post on 17-Jan-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Windows Application Readinessfor DevelopersPat AltimoreSr. ConsultantMicrosoft Corporation

SESSION CODE: WCL321

Page 2: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Session Objectives And Takeaways

Session Objectives – Steps to Compatibility: Know What ChangedKnow What to TestKnow Top IssuesKnow Your ToolsKnow Where to Get Help

Leverage the Application Compatibility CookbooksLeverage the Win 7 Testing GuidanceLeverage Resources

Page 3: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Know What Changed

Page 4: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Deep Changes: New models for security, drivers, deployment, and networking

Few Changes: Focus on quality and reliability improvements

Few Changes: Most software that runs on Windows Vista will run on Windows 7 - exceptions will be low level code (AV, Firewall, Imaging, etc).

Hardware that runs Windows Vista well will run Windows 7 well.

Windows 7Windows 7 Builds on Windows Vista

Page 5: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Application Quality Cookbooks

http://msdn.microsoft.com/en-us/library/dd371778%28VS.85%29.aspxCompatibilityNew Features and EnhancementsTools, Best Practices, and Guidance

Assumes you already know about the Application Compatibility Cookbook (Windows Vista)

Page 6: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Know What to Test

Page 7: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Lay Out Scenarios

Compatibility, at some level, just means “Application has no bugs on this OS”

Unachievable!Therefore, compatibility has to be constrained to “Application has no bugs on this OS which stops you from getting your work done” – so you have to define what it means to get your work done!

Page 8: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Consider Target User Scenarios

For Example: Don’t Disable UACStandard User is here to stayMost users leave UAC enabled

EnterpriseMost are targeting standard users, either today or as soon as practicalRemote desktop / VDI often a consideration

ConsumerParents are sick of making their kids local adminMore families use multiple accounts today

Page 9: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Test on x64

Most enterprises are considering moving to x64 either on this release or gradually in the futureMore and more consumers are buying computers with a 64-bit OS installed

Page 10: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Test on All Browser Configs

Make sure you work with IE8Make sure you work without IE8

Page 11: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Leverage Virtual Machines

Undo disks can save you significant timeMake sure you also test natively so you can test with DWM (Aero)

Page 12: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Windows 7 Testing Guidance

Provide tests and scenarios for finding compatibility issuesCompilation of Windows Vista Logo, Windows 7 Logo, Windows cookbook, etc.Developer origins with a focus on QATests include: Installation, Runtime, User Interface, Reliability

Download: http://code.msdn.microsoft.com/Win7CompatTesting

Page 13: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

LogoGood “gauge” of future Windows requirements

Standard UserFast user switchingSigning binaries

Review requirements documentAutomated testing tool

Can be automatedGenerates XML report

Page 14: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Know Top Issues

Page 15: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

User Account Control – Why?Applications run as Standard User by defaultWhat is a Standard User?

Not Allowed• Install applications•Change system components•Change per machine settings•Admin “privileges”

Allowed• Run most applications• Change per user settings

Page 16: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

UAC Logon Process

Administratoror

Manifest = requireAdministrator

Filtered “Standard User” token

Full “Administrator” token

explorer.exe

Page 17: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

UAC Split Tokens

demo

Page 18: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

64 bitServer 2008 R2 is 64-bit only32-bit applications will run in WOW64

IssuesKernel mode drivers need to be 64-bit and signed.16-bit subsystem removedRegistry reflection removedAll binaries used for a process must be the same “bitness”

Affects .NET projects compiled as “Any CPU”

Page 19: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

64 bit Issues

Demo

Page 20: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

High DPI Issues

Clipped Text

Layout Issues & Image Size Issues

Pixilated Bitmaps

WinForms Issues

Blurry UI Mismatched Font Sizes

Page 21: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

High DPIWindows 7 clean install determines DPI by heuristics

TryDPI of 125% - Clipped UI issuesDPI of 150% - Fuzzy UI issues

GuidanceFix issues and declare you are DPIAware

Page 22: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

High DPI Issues

Demo

Page 23: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

But Wait, There’s More Top Issues…Session 0 Isolation, Mandatory Integrity Control, Version Checking, Mitigations, Manifests, Installation, Known Folder Location, Fast User Switching, Remote Desktop Services, Etc.

The Cookbooks are your friendI’ve blogged about most of the top issues http://blogs.msdn.com/patricka

Page 24: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Know Your Tools

Page 25: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Tools for Windows Apps

Application Compatibility ToolkitApplication VerifierLUA BuglightSysinternalsDebugging Tools for Windows

Page 26: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Tools Demo

Demo

Page 27: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Know Where to Get Help

Page 28: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Forums / Blogs / Workshops on App Compat

MSDN Forums: 24-hour Responsehttp://social.msdn.microsoft.com/Forums/en-US/windowscompatibilityPartner Forums: 8-hour Responsehttps://partner.microsoft.com/US/40014662My Blog

http://blogs.msdn.com/patricka Chris Jackson – The AppCompat Guy

http://blogs.msdn.com/cjacks Premier Workshops for Enterprise or ISV - Contact your TAM

Page 29: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Resources

Cookbooks“Application Compatibility Cookbook”“Windows 7 Application Quality Cookbook”

Windows 7 Application Compatibility Testing Guidancehttp://code.msdn.microsoft.com/Win7CompatTesting

MSDN Application Compatibility: http://msdn.microsoft.com/en-us/windows/aa904987.aspxTechNet Windows Application Compatibility: http://technet.microsoft.com/en-us/desktopdeployment/bb414773.aspxDevReadiness.orgChannel 9: http://channel9.msdn.com/tags/Application+CompatibilityBlogs: http://blogs.msdn.com/patricka; http://blogs.msdn.com/cjacks

Page 30: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Summary

Steps to Compatibility: Know What ChangedKnow What to TestKnow Top IssuesKnow Your ToolsKnow Where to Get Help

TakeawaysLeverage the Application Compatibility CookbooksLeverage the Testing Guidance document

Page 31: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Track ResourcesLearn about Windows Client Development: http://developforwindows.comTry out the Internet Explorer 9 Platform Preview: www.ietestdrive.comInterested in Windows hardware or software? Check it out: http://ReadySet7.com

Page 32: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Resources

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

Learning

Page 33: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Complete an evaluation on CommNet and enter to win!

Page 34: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st

http://northamerica.msteched.com/registration

You can also register at the

North America 2011 kiosk located at registrationJoin us in Atlanta next year

Page 35: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

© 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.

Page 36: Pat Altimore Sr. Consultant Microsoft Corporation SESSION CODE: WCL321

JUNE 7-10, 2010 | NEW ORLEANS, LA