360 likes | 378 Views
APP-116T. Prepare your apps for Windows 8 and beyond. Uday Shivaswamy Senior Program Manager Microsoft Corporation. Agenda. What is new in Windows 8 that impacts compatibility Compatibility best practices for d esktop a pps Compatibility features for Metro style a pps
E N D
APP-116T Prepare your apps for Windows 8 and beyond UdayShivaswamy Senior Program Manager Microsoft Corporation
Agenda • What is new in Windows 8 that impacts compatibility • Compatibility best practices for desktop apps • Compatibility features for Metro style apps You’ll leave with an understanding of how to • Build great desktop apps • Assess and certify your desktop apps • Assess your Metro style apps
What is new in Windows 8 that impacts compatibility
Changes in Windows 8 that impact compatibility • Windows OS version increment • Desktop Window Manager always on • Startup apps change • .NET 3.5 on demand
Windows OS Version Increment Only the OS minor version incremented
Desktop Windows Manager always on Compatibility for existing apps is maintained
demo DWMFlight Simulator 2002
Startup Apps Change Users can disable or enable them easily
demo Startup apps
.NET 3.5 on demand Windows 8 has .NET 4.5 by default
demo .NET 3.5 on demand
Best Practice: Develop Great Installers This is your customer’s first experience with your app
Best Practice: use Windows resources wisely Build great desktop apps
Windows System usage samples • Using path variables: • LOCAL nKey, cSubKey, cValue, lSuccess, cExpandPart, cNonExpandPart • nKey= HKEY_LOCAL_MACHINE • cSubKey= "Software\VfpRegTest" • cValue= "TestREG_EXPAND_SZ" • cExpandPart= "WINDIR" • cNonExpandPart= "\System“ • lSuccess= WriteREG_EXPAND_SZ(nKey, cSubKey, cValue, cExpandPart, cNonExpandPart) • IF (lSuccess) • THEN • =MESSAGEBOX("Value was Written to the Registry.") • ELSE • =MESSAGEBOX("Value was not Written to the Registry.") • ENDIF
Windows System usage samples • HRESULT verification macros (Accessing a known folder): • IShellItem* pItem = nullptr; • HRESULT hr = ::SHCreateItemInKnownFolder( • FOLDERID_Libraries, 0, nullptr, IID_PPV_ARGS(&pItem)); • if (SUCCEEDED(hr)) • { • DWORD dwAttr = 0; • hr = pItem->GetAttributes(SFGAO_FILESYSANCESTOR, &dwAttr); • if (SUCCEEDED(hr)) • { • if (SFGAO_FILESYSANCESTOR == dwAttr) • { • wprintf(L"Item is a file system folder\n"); • } • } • pItem->Release(); • }
Best practice: manifest Your executable Build great desktop apps
Trust info • <?xml version="1.0" encoding="utf-8"?> • … • <trustInfoxmlns="urn:schemas-microsoft-com:asm.v2"> • <security> • <requestedPrivilegesxmlns="urn:schemas-microsoft-com:asm.v3"> • <requestedExecutionLevel level=“AsInvoker" uiAccess="false" /> • </requestedPrivileges> • </security> • </trustInfo>
Compatibility section • Compatibility • <?xml version="1.0" encoding="UTF-8" standalone="yes"?> • <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> • <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> • <application> • <supportedOS Id=“{Windows 8…GUID}"/> • <supportedOS Id=“{Windows 7…GUID}"/> • <supportedOS Id="{Windows Vista…GUID}"/> • </application> • </compatibility> • </assembly>
DPI section • <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" > • <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> • <dpiAware>true</dpiAware> • </asmv3:windowsSettings> • </asmv3:application> ... </assembly>
Certify Your desktop app • Windows App Certification Kit • Formerly Windows Software Logo Kit • Ensures consistent, high-quality user experience • Opportunity to get listed in the Windows Store • Get listed on the Windows Compatibility Center
demo Windows app Certification Kit
Compatibility features for Metro style apps
Declaring Compatibility for Metro style Apps • App must declare the Windows version it needs • Windows provides the best compatibility behavior for the app • OSMinVersion is the minimum OS version needed for app install • OSMaxVersionTested is the latest OS version app is tested for
Declaring compatibility in the Appx Manifest • As part of app manifest • <Prerequisites> • <OSMinVersion>6.2</OSMinVersion> • <OSMaxVersionTested>6.2</OSMaxVersionTested> • </Prerequisites>
Assess your Metro style app • Ensures consistent, high-quality user experience • Single tool for self-testing and store onboarding • Prepared for a global market • Automated tests for: • App Manifest compliance with store policy • Image sizing and scaling • Use of platform supported APIs • App reliability and security
Call to action • Desktop apps • Verify your app against Windows 8 changes • Manifest your executables • Certify your app for Windows 8 • Automatically listed in the Windows Compatibility Center • Metro style apps • Learn about version declarations • Verify your app with the Windows App Certification Kit
Related sessions • [HW-716H] (lab) Windows compatibility and readiness labs for devices and apps • [APP-840H] (lab) Hands on lab for Windows App Certification Kit • [APP-842H] (lab) HOL: Using the Windows App Certification Kit to validate and prepare your Metro style apps for the Store
Further reading and documentation • Windows 8 App Compatibility Cookbook • Windows Compatibility Center • Contact info – srglabs@microsoft.com
thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback
© 2011 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.