pat altimore sr. consultant microsoft corporation session code: wcl321
TRANSCRIPT
Windows Application Readinessfor DevelopersPat AltimoreSr. ConsultantMicrosoft 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
Know What Changed
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
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)
Know What to Test
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!
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
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
Test on All Browser Configs
Make sure you work with IE8Make sure you work without IE8
Leverage Virtual Machines
Undo disks can save you significant timeMake sure you also test natively so you can test with DWM (Aero)
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
LogoGood “gauge” of future Windows requirements
Standard UserFast user switchingSigning binaries
Review requirements documentAutomated testing tool
Can be automatedGenerates XML report
Know Top Issues
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
UAC Logon Process
Administratoror
Manifest = requireAdministrator
Filtered “Standard User” token
Full “Administrator” token
explorer.exe
UAC Split Tokens
demo
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”
64 bit Issues
Demo
High DPI Issues
Clipped Text
Layout Issues & Image Size Issues
Pixilated Bitmaps
WinForms Issues
Blurry UI Mismatched Font Sizes
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
High DPI Issues
Demo
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
Know Your Tools
Tools for Windows Apps
Application Compatibility ToolkitApplication VerifierLUA BuglightSysinternalsDebugging Tools for Windows
Tools Demo
Demo
Know Where to Get Help
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
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
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
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
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
Complete an evaluation on CommNet and enter to win!
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
© 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.
JUNE 7-10, 2010 | NEW ORLEANS, LA