%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CTABLE%3E%0A%3CTHEAD%3E%0A%3CTR%3E%0A%3CTH%3EScenario%3C%2FTH%3E%0A%3CTH%3EDrivers%20(no%20minVersion%20or%20minDate)%3C%2FTH%3E%0A%3CTH%3EDriver%20Installed%3C%2FTH%3E%0A%3CTH%3EDependency%20Satisfied%3F%3C%2FTH%3E%0A%3CTH%3EApp%20Loads%3F%3C%2FTH%3E%0A%3C%2FTR%3E%0A%3C%2FTHEAD%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E3%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E3%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E3%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CP%3EIn%20this%20this%20scenario%20we've%20added%20some%20date%20and%20version%20constraints%20-%20we%20can%20see%20how%20the%20version%20%2F%20date%20of%20the%20driver%20impacts%20the%20loading%20of%20the%20app.%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Microsoft_Test.INF%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinVersion%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%222.0.0.0%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinDate%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%222017-05-20%22%3C%2FSPAN%3E%2F%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Microsoft_Camera.INF%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinVersion%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%223.0.0.0%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinDate%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%222017-05-10%22%3C%2FSPAN%3E%2F%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Contoso_HMDDevice.INF%E2%80%9C%20MinDate%3D%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3E2017-05-10%3C%2FSPAN%3E%22%2F%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FDIV%3E%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CTABLE%3E%0A%3CTHEAD%3E%0A%3CTR%3E%0A%3CTH%3EScenario%3C%2FTH%3E%0A%3CTH%3EDrivers%20(with%20minVersion%20or%20minDate%20Constraints)%3C%2FTH%3E%0A%3CTH%3EDriver%20Version%20Installed%3C%2FTH%3E%0A%3CTH%3EDriver%20Date%3A%20Installed%3C%2FTH%3E%0A%3CTH%3EminVersion%20in%20AppxManifest%3C%2FTH%3E%0A%3CTH%3EminDate%20in%20AppxManifest%3C%2FTH%3E%0A%3CTH%3EDependency%20Satisfied%3F%3C%2FTH%3E%0A%3CTH%3EApp%20Loads%3F%3C%2FTH%3E%0A%3C%2FTR%3E%0A%3C%2FTHEAD%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3E3.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E3.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E5%2F10%2F2017%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E5%2F10%2F2017%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3E1.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E3.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E4%2F4%2F2016%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E5%2F10%2F2017%3C%2FTD%3E%0A%3CTD%3ENo-%20Group%202%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CP%3EMore%20information%20here%3A%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Finstall%2Fpairing-app-and-driver-versions%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3EPairing%20a%20driver%20with%20a%20Universal%20Windows%20Platform%20(UWP)%20app%20-%20Windows%20drivers%20%7C%20Microsoft%20Docs%3C%2FA%3E%3C%2FP%3E%3CLINGO-SUB%20id%3D%22lingo-sub-774360%22%20slang%3D%22en-US%22%3EAssociate%20your%20Microsoft%20Store%20app%20with%20your%20device%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-774360%22%20slang%3D%22en-US%22%3E%3CH2%20id%3D%22introduction%22%20id%3D%22toc-hId-1794314597%22%20id%3D%22toc-hId-1794314597%22%3EIntroduction%3C%2FH2%3E%0A%3CP%3EIf%20you're%20a%20device%20maker%20with%20an%20associated%20Microsoft%20Store%20application%20(a%20Hardware%20Support%20App)%2C%20the%20ideal%20experience%20is%20when%20the%20user%20connects%20you%20device%20to%20their%20PC%20for%20the%20first%20time%2C%20the%20corresponding%20driver%20package%20and%20Microsoft%20Store%20app%20are%20installed.%20To%20enable%20this%2C%20you'll%20need%20to%20associate%20the%20app%20with%20the%20driver%20package.%20There%20are%20additional%20steps%20needed%20if%20the%20app%20needs%20to%20communicate%20with%20the%20driver%20or%20RPC%20endpoint.%20This%20post%20will%20focus%20on%20the%20first%20scenario%20of%20device%20and%20Store%20app%20association.%3C%2FP%3E%0A%3CH2%20id%3D%22inf-file%22%20id%3D%22toc-hId--757842364%22%20id%3D%22toc-hId--757842364%22%3EINF%20File%3C%2FH2%3E%0A%3CH3%20id%3D%22specifying-app-dependency-in-driver-package%22%20id%3D%22toc-hId-788454466%22%20id%3D%22toc-hId-788454466%22%3ESpecifying%20App%20Dependency%20in%20Driver%20Package%3C%2FH3%3E%0A%3CP%3EIn%20the%20Driver%20Package%20specify%20the%20INF%3CCODE%3EAddSoftware%3C%2FCODE%3E%20Directive.%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3E%3CCODE%3EAddSoftware%3DSoftwareName%2C%5Bflags%5D%2Csoftware-install-section%3C%2FCODE%3E%3C%2FLI%3E%0A%3CLI%3ESet%20the%20%3CCODE%3ESoftwareType%3C%2FCODE%3E%20entry%20to%202.%3C%2FLI%3E%0A%3CLI%3EProvide%20the%20Package%20Family%20Name%20(PFN)%20of%20your%20Store%20App%20in%20the%20%3CCODE%3ESoftwareID%3C%2FCODE%3E%20entry.%20This%20can%20be%20found%20the%20the%20Packaging%20tab%20of%20the%20%3CCODE%3Epackaging.Appxmanifest%3C%2FCODE%3E%20file%20in%20your%20Visual%20Studio%20project.%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CDIV%3E%3CSPAN%3E%5BAddS.Software%5D%20%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%3EAddSoftware%3DTestApp%2C%2CTestAppInstall%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%3E%5BTestAppInstall%5D%20%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%3ESoftwareType%3D2%20%3B%202%20%3D%3D%20Microsoft%20Store%20App%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%3E%20SoftwareFlags%3D0%20%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%3ESoftwareId%3Dpfn%3A%2F%2FCN77EEA195-9DFB-4325-958F.Microsoft.DnD.AddSTest_q536wpkpf5cy2%20%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CH3%20id%3D%22specifying-driver-dependency-in-appx-manifest%22%20id%3D%22toc-hId--1763702495%22%20id%3D%22toc-hId--1763702495%22%3ESpecifying%20Driver%20Dependency%20in%20APPX%20Manifest%3C%2FH3%3E%0A%3CP%3EThis%20step%20is%20necessary%20if%20you%20need%20to%20prevent%20the%20app%20from%20loading%20if%20the%20driver%20is%20not%20present%20or%20to%20constrain%20a%20driver%20version%20to%20a%20specific%20app%20version.%20The%20Store%20can%20maintain%20up%20to%2032%20versions%20of%20your%20HSA.%3C%2FP%3E%0A%3CP%3EIn%20the%20Appx%20Manifest%20specify%20%3CCODE%3Euap5%3ADriverDependency%3C%2FCODE%3E%20and%20one%20or%20more%20%3CCODE%3Euap5%3ADriverConstraint%3C%2FCODE%3E.%3C%2FP%3E%0A%3CP%3EAt%20least%20one%20DriverDependency%20criteria%20must%20be%20satisfied%20in%20order%20for%20the%20app%20to%20load.%3C%2FP%3E%0A%3CP%3EIn%20this%20first%20scenario%20we%20don't%20want%20the%20app%20to%20load%20unless%20the%20HMDDevice%20is%20installed%20or%20both%20the%20Test%20and%20Camera%20devices%20are%20installed%20and%20the%20HMDDevice%20is%20not%20installed.%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Microsoft_Test.INF%22%3C%2FSPAN%3E%2F%26gt%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3CSPAN%20class%3D%22hljs-name%22%3E%3CDRIVERCONSTRAINT%3E%3C%2FDRIVERCONSTRAINT%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Microsoft_Camera.INF%22%3C%2FSPAN%3E%2F%26gt%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Contoso_HMDDevice.INF%E2%80%9C%2F%26gt%3B%3C%2FSPAN%3E%20%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%3CSPAN%20class%3D%22hljs-string%22%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%20%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CTABLE%3E%0A%3CTHEAD%3E%0A%3CTR%3E%0A%3CTH%3EScenario%3C%2FTH%3E%0A%3CTH%3EDrivers%20(no%20minVersion%20or%20minDate)%3C%2FTH%3E%0A%3CTH%3EDriver%20Installed%3C%2FTH%3E%0A%3CTH%3EDependency%20Satisfied%3F%3C%2FTH%3E%0A%3CTH%3EApp%20Loads%3F%3C%2FTH%3E%0A%3C%2FTR%3E%0A%3C%2FTHEAD%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E3%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E3%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3ENo%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E3%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3EYes%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CP%3EIn%20this%20this%20scenario%20we've%20added%20some%20date%20and%20version%20constraints%20-%20we%20can%20see%20how%20the%20version%20%2F%20date%20of%20the%20driver%20impacts%20the%20loading%20of%20the%20app.%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CDIV%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Microsoft_Test.INF%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinVersion%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%222.0.0.0%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinDate%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%222017-05-20%22%3C%2FSPAN%3E%2F%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Microsoft_Camera.INF%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinVersion%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%223.0.0.0%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EMinDate%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%222017-05-10%22%3C%2FSPAN%3E%2F%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3E%26lt%3B%3CSPAN%20class%3D%22hljs-name%22%3EDriverConstraint%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3EName%3C%2FSPAN%3E%3D%3CSPAN%20class%3D%22hljs-string%22%3E%22Contoso_HMDDevice.INF%E2%80%9C%20MinDate%3D%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-attr%22%3E2017-05-10%3C%2FSPAN%3E%22%2F%26gt%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-tag%22%3EDriverDependency%3C%2FSPAN%3E%26gt%3B%3C%2FDIV%3E%0A%3CPRE%3E%3CCODE%20class%3D%22language-xml%22%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CTABLE%3E%0A%3CTHEAD%3E%0A%3CTR%3E%0A%3CTH%3EScenario%3C%2FTH%3E%0A%3CTH%3EDrivers%20(with%20minVersion%20or%20minDate%20Constraints)%3C%2FTH%3E%0A%3CTH%3EDriver%20Version%20Installed%3C%2FTH%3E%0A%3CTH%3EDriver%20Date%3A%20Installed%3C%2FTH%3E%0A%3CTH%3EminVersion%20in%20AppxManifest%3C%2FTH%3E%0A%3CTH%3EminDate%20in%20AppxManifest%3C%2FTH%3E%0A%3CTH%3EDependency%20Satisfied%3F%3C%2FTH%3E%0A%3CTH%3EApp%20Loads%3F%3C%2FTH%3E%0A%3C%2FTR%3E%0A%3C%2FTHEAD%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3E3.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E3.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E1%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E5%2F10%2F2017%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E5%2F10%2F2017%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%202%3C%2FTD%3E%0A%3CTD%3EYes%20-%20Group%201%20succeeds%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Test%3C%2FTD%3E%0A%3CTD%3E1.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EMicrosoft_Camera%3C%2FTD%3E%0A%3CTD%3E2.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E3.0.0.0%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%3E2%3C%2FTD%3E%0A%3CTD%3EContoso_HMDDevice%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E4%2F4%2F2016%3C%2FTD%3E%0A%3CTD%3Ena%3C%2FTD%3E%0A%3CTD%3E5%2F10%2F2017%3C%2FTD%3E%0A%3CTD%3ENo-%20Group%202%3C%2FTD%3E%0A%3CTD%3ENo%20-%20Group%201%20and%20Group%202%20fail%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CP%3EMore%20information%20here%3A%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Finstall%2Fpairing-app-and-driver-versions%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%22%3EPairing%20a%20driver%20with%20a%20Universal%20Windows%20Platform%20(UWP)%20app%20-%20Windows%20drivers%20%7C%20Microsoft%20Docs%3C%2FA%3E%3C%2FP%3E
Microsoft

Introduction

If you're a device maker with an associated Microsoft Store application (a Hardware Support App), the ideal experience is when the user connects you device to their PC for the first time, the corresponding driver package and Microsoft Store app are installed. To enable this, you'll need to associate the app with the driver package. There are additional steps needed if the app needs to communicate with the driver or RPC endpoint. This post will focus on the first scenario of device and Store app association.

INF File

Specifying App Dependency in Driver Package

In the Driver Package specify the INF AddSoftware Directive.

  1. AddSoftware=SoftwareName,[flags],software-install-section
  2. Set the SoftwareType entry to 2.
  3. Provide the Package Family Name (PFN) of your Store App in the SoftwareID entry. This can be found the the Packaging tab of the packaging.Appxmanifest file in your Visual Studio project.
[AddS.Software]
AddSoftware=TestApp,,TestAppInstall
 
[TestAppInstall]
SoftwareType=2 ; 2 == Microsoft Store App
SoftwareFlags=0
SoftwareId=pfn://CN77EEA195-9DFB-4325-958F.Microsoft.DnD.AddSTest_q536wpkpf5cy2

Specifying Driver Dependency in APPX Manifest

This step is necessary if you need to prevent the app from loading if the driver is not present or to constrain a driver version to a specific app version. The Store can maintain up to 32 versions of your HSA.

In the Appx Manifest specify uap5:DriverDependency and one or more uap5:DriverConstraint.

At least one DriverDependency criteria must be satisfied in order for the app to load.

In this first scenario we don't want the app to load unless the HMDDevice is installed or both the Test and Camera devices are installed and the HMDDevice is not installed.

<DriverDependency>
     <DriverConstraint Name="Microsoft_Test.INF"/>
     <DriverConstraint Name="Microsoft_Camera.INF"/>
</DriverDependency>
<DriverDependency>
     <DriverConstraint Name="Contoso_HMDDevice.INF“/>
</DriverDependency>
Scenario Drivers (no minVersion or minDate) Driver Installed Dependency Satisfied? App Loads?
1 Microsoft_Test Yes No - Group 1 No - Group 1 and Group 2 fail
1 Microsoft_Camera No No - Group 1 No - Group 1 and Group 2 fail
1 Contoso_HMDDevice No No - Group 2 No - Group 1 and Group 2 fail
2 Microsoft_Test Yes Yes - Group 1 Yes - Group 1 succeeds
2 Microsoft_Camera Yes Yes - Group 1 Yes - Group 1 succeeds
2 Contoso_HMDDevice No No - Group 2 Yes - Group 1 succeeds
3 Microsoft_Test No No - Group 1 Yes - Group 2 succeeds
3 Microsoft_Camera No No - Group 1 Yes - Group 2 succeeds
3 Contoso_HMDDevice Yes Yes - Group 2 Yes - Group 2 succeeds

In this this scenario we've added some date and version constraints - we can see how the version / date of the driver impacts the loading of the app.

<DriverDependency>
<DriverConstraint Name="Microsoft_Test.INF" MinVersion="2.0.0.0" MinDate="2017-05-20"/>
<DriverConstraint Name="Microsoft_Camera.INF" MinVersion="3.0.0.0" MinDate="2017-05-10"/>
</DriverDependency>
<DriverDependency>
<DriverConstraint Name="Contoso_HMDDevice.INF“ MinDate="2017-05-10"/>
</DriverDependency>
Scenario Drivers (with minVersion or minDate Constraints) Driver Version Installed Driver Date: Installed minVersion in AppxManifest minDate in AppxManifest Dependency Satisfied? App Loads?
1 Microsoft_Test 2.0.0.0 na 2.0.0.0 na Yes - Group 1 Yes - Group 1 succeeds
1 Microsoft_Camera 3.0.0.0 na 3.0.0.0 na Yes - Group 1 Yes - Group 1 succeeds
1 Contoso_HMDDevice na 5/10/2017 na 5/10/2017 Yes - Group 2 Yes - Group 1 succeeds
2 Microsoft_Test 1.0.0.0 na 2.0.0.0 na No - Group 1 No - Group 1 and Group 2 fail
2 Microsoft_Camera 2.0.0.0 na 3.0.0.0 na No - Group 1 No - Group 1 and Group 2 fail
2 Contoso_HMDDevice na 4/4/2016 na 5/10/2017 No- Group 2 No - Group 1 and Group 2 fail

More information here: Pairing a driver with a Universal Windows Platform (UWP) app - Windows drivers | Microsoft Docs