Presentation is loading. Please wait.

Presentation is loading. Please wait.

Version Binding UWP Apps & Driver Packages

Similar presentations


Presentation on theme: "Version Binding UWP Apps & Driver Packages"— Presentation transcript:

1 Version Binding UWP Apps & Driver Packages
Viraf Gandhi Sr. Program Manager

2 Universal Driver Pillars
WinHEC 2015 11/28/ :27 AM Universal Driver Pillars Declarative Componentized Hardware Support Apps Universal APIs During WinHEC in June 2017 we talked about transitioning the ecosystem to Universal Drivers. We highlighted & discussed in detail the 4 main foundational pillars (D C H U) of Universal Drivers adopting which will not only significantly improve driver quality but also have a positive impact on OS and driver upgrade resiliency. The focus of this online session is on Hardware Support Apps. i.e. the H Pillar. Applications are optional and considered a value-add software in the world of Universal Drivers. A hardware device should be able to function without the need of any apps. If your scenario does require an application, it must be serviced from the Windows Store. © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Version Binding UWP Apps and Driver Pkgs
WinHEC 2015 11/28/ :27 AM Hardware Support Apps Version Binding UWP Apps and Driver Pkgs Allows tight binding between Driver pkgs and UWP apps App PFN dependency declared in the Driver INF Driver pkg published to Windows Update Driver Version dependency declared in the App Manifest UWP app published to Windows Store Driver Install triggers corresponding app download UWP App version downloaded based on installed driver version match Driver version dependency is checked during UWP app servicing Version binding a UWP app and a driver package is one of the most highly requested feature from the ecosystem to enable the Universal Driver transition. We have heard your feedback!! We have included this ability as part of Windows 10 Fall Creator’s Update. The mechanics of achieving version binding between Windows Store Apps and Driver packages is quite simple: A driver package simply declares an App PFN as a dependency in the INF. The driver package is then published via Windows Update Driver dependency (optionally including min version and min date) is declared within the APPX Manifest and the app is published to the Windows Store <click> When PnP installs a new Driver package, it triggers the download of the APPX if an App PFN dependency is specified in the INF. Prior to the install of the APPX from the store, an installed driver version applicability check is performed based on the driver dependency metadata specified in the APPX Manifest. If the installed driver dependency check fails, applicability of the n-1 version of the appx is checked. Installed Driver Dependency Applicability check is performed recursively in descending order starting from the latest version of the App PFN until a match is found. At that point, the matched appx version is installed on the client PC. If a match is not found, the dependency check fails and the app is not installed. Driver version dependency check occurs at all subsequent app and driver servicing events © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 Specifying App Dependency in Driver Package
In the Driver Package Specify the INF AddSoftware Directive. AddSoftware=SoftwareName,[flags],software-install-section Set the SoftwareType entry to 2. Provide a Package Family Name (PFN) in the SoftwareID entry. [AddS.Software] AddSoftware=TestApp,,TestAppInstall [TestAppInstall] SoftwareType=2 SoftwareFlags=0 SoftwareId=pfn://CN77EEA195-9DFB F.Microsoft.DnD.AddSTest_q536wpkpf5cy2 Specifying app dependency within the driver package is done using the AddSoftware INF directive. The Software Type entry needs to be set to 2 to indicate the downloaded app is a Store App The App Package Family name is specified in the SoftwareID entry

5 Specifying Driver Dependency in APPX Manifest
In the Appx Manifest Specify uap5:DriverDependency & one or more uap5:DriverConstraint <DriverDependency> <DriverConstraint Name="Microsoft_Test.INF" MinVersion=" " MinDate=" "/> <DriverConstraint Name="Microsoft_Camera.INF" MinVersion=" " MinDate=" "/> </DriverDependency> <DriverConstraint Name=“Contoso_HMDDevice.INF" MinDate=" "/> If you are pairing a driver with a UWP app, at least one DriverDependency must be met for the app to load. For a DriverDependency to be met, all its DriverConstraint elements must be met

6 Call to action Documentation can be found at http://aka.ms/udriver
Tech Ready 15 11/28/2018 Call to action Documentation can be found at This slide is required. Do NOT delete. This should be the first slide after your Title Slide. This is an important year and we need to arm our attendees with the information they can use to Grow Share! Please ensure that your objectives are SMART (defined below) and that they will enable them to go in and win against the competition to grow share. If you have questions, please contact your Track PM for guidance. We have also posted guidance on writing good objectives, out on the Speaker Portal ( This slide should introduce the session by identifying how this information helps the attendee, partners and customers be more successful. Why is this content important? This slide should call out what’s important about the session (sort of the why should we care, why is this important and how will it help our customers/partners be successful) as well as the key takeaways/objectives associated with the session. Call out what attendees will be able to execute on using the information gained in this session. What will they be able to walk away from this session and execute on with their customers. Good Objectives should be SMART (specific, measurable, achievable, realistic, time-bound). Focus on the key takeaways and why this information is important to the attendee, our partners and our customers. Each session has objectives defined and published on please work with your Track PM to call these out here in the slide deck. If you have questions, please contact your Track PM. See slide 5 in this template for a complete list of Tracks and TPMs. © 2012 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.

7 11/28/ :27 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Version Binding UWP Apps & Driver Packages"

Similar presentations


Ads by Google