Prepare your apps for Windows 8 and beyond

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 7 Training. Windows ® 7 Compatibility Session 0 Isolation Isolation of Windows 7 Services.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Payroll and HR Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Windows 7 Training. Windows ® 7 Compatibility Installer Detection.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
A Windows Azure application runs multiple instances of each role A Windows Azure application behaves correctly when.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: Employee Self Service Timecard Entry © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Microsoft Virtual Academy
Wireless Communication and Networks
Build data-driven collection and list apps using XAML
Building a great Metro style device app for your printer
Security in Windows Store apps
Возможности Excel 2010, о которых следует знать
Understanding Wi-Fi Direct in Windows 8
Reaching more customers with accessible Metro style apps using HTML5
Building Metro style apps that connect to specialized devices
Testing mobile broadband devices
"Oslo”: Customizing and Extending the Visual Design Experience
Deep dive on app data roaming
Building a great Metro style device app for your camera
Architecting and integrating sensor drivers
Bring existing desktop apps to UWP with the Desktop Bridge
Certifying graphics experiences on Windows 8
Michael Beck Principal Group Program Manager Microsoft Corporation
Title of Presentation 12/2/2018 3:48 PM
Customizing WPA Trace Views
File type associations and AutoPlay
Introducing Metro style device apps
Create experiences that span devices
Customizing ADK assessment reports
Best practices for packaging and distributing device drivers
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Delivering great hardware solutions for Windows
Windows 8 Security Internals
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Under the hood: Installation and updates for Metro style apps
Introducing the Windows Store
Leveraging existing code in Metro style apps
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
Inside the Windows 8 driver developer workflow
John Hazen Principal Program Manager Lead Microsoft Corporation
日本初公開!? Vista の新機能を実演 とっちゃん わんくま同盟 7/23/2019 9:09 AM
Advanced app and driver debugging
Presentation transcript:

Prepare your apps for Windows 8 and beyond 12/2/2018 5:21 AM APP-116T Prepare your apps for Windows 8 and beyond Uday Shivaswamy Senior Program Manager Microsoft Corporation © 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.

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

Why is compatibility important?

What is new in Windows 8 that impacts compatibility

Windows 8 is compatible with apps that run on Windows 7

Changes in Windows 8 that impact compatibility Windows OS version increment Desktop Window Manager always on Startup apps change .NET 3.5 on demand

How many of you have a Windows version check in your app?

Windows OS Version Increment Only the OS minor version incremented Why Version increment provides a basic level of change identification within the OS Change & Impact Apps checking OS version upper bound may fail Installers and apps blocking increase customer pain Windows and users can override through compatibility modes Actions Recommended: Query for specific features that the app depends on Do not check for upper bound OS version Do not check OS version through file attributes and other unsupported ways

Desktop Windows Manager always on Compatibility for existing apps is maintained Why Required for enabling the Windows 8 experience Change & Impact Existing methods to turn off DWM will now fail silently In DirectX exclusive mode, apps should not write with GDI – will fail or have degraded performance Reading from or writing to the main desktop Device Context directly will have degraded performance Low color modes are emulated Action Use DirectX 10/11 which allows apps to work with DWM on Do not write using GDI while in DX exclusive mode Read/Write on transparent window(s) Don’t rely on inbox mitigations. Skip low color modes completely

demo DWM Flight Simulator 2002 12/2/2018 5:21 AM © 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.

Startup Apps Change Users can disable or enable them easily Why Improve battery performance and PC responsiveness Change & Impact Windows makes it easier to disable startup apps Apps should not assume that startup apps are guaranteed to start Action Use Metro style apps for notifications or appropriate extensions for user interactions Use Maintenance tasks for actions and updates that do not need user input

demo Startup apps 12/2/2018 5:21 AM © 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.

.NET 3.5 on demand Windows 8 has .NET 4.5 by default Why Reduce Windows 8 install size Consistent distribution and updates Change & Impact .NET 3.5 redistributables will redirect to on demand install Connectivity is necessary, no offline mechanism Action Move to .NET 4.0/4.5, rely on what is already installed Handle scenarios where connectivity may not be available Optionally check Windows 8 API for on demand installation

demo .NET 3.5 on demand 12/2/2018 5:21 AM © 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.

Compatibility best practices for Desktop apps

Best Practice: Develop Great Installers This is your customer’s first experience with your app Issue Installers may run under varying privileges or architectures Repackaging Windows redistributables Actions Design for Multiple scenarios: user or machine-level, 32 and 64-bit Windows Keep Windows redistributables in original packaging

Best Practice: use Windows resources wisely Build great desktop apps Issue File & folder path usage Registry locations for configurations OS binaries may be hardened New error codes may be added to APIs Actions Use RegExpandSz for paths. Use APIs to find system paths Use configuration APIs to Get/Set values Remove dependencies that patch OS binaries Ensure new error codes can be handled by 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 © 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.

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 (SFGAO_FILESYSANCESTOR == dwAttr) wprintf(L"Item is a file system folder\n"); } pItem->Release(); © 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.

Best practice: manifest Your executable Build great desktop apps Issue Apps may not run with the right privileges Older apps get tracked for compatibility and may run under compatibility modes Apps may not scale well with DPI changes Actions Declare Privilege level using trustInfo Declare Compatibility level using Compatibility Declare DPI setting through DPIAwareness

Trust info <?xml version="1.0" encoding="utf-8"?> … <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level=“AsInvoker" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo> © 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.

Compatibility section <?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> © 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.

DPI section <dpiAware>true</dpiAware> <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> © 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.

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

Windows app Certification Kit 12/2/2018 5:21 AM demo Windows app Certification Kit © 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.

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

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

Summary

Call to action Desktop apps Metro style 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 feedback http://bldw.in/SessionFeedback

12/2/2018 5:21 AM © 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. © 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.