[UWP] Custom Capability的使用

Custom Capability 是uwp开发中普通开发者较为不常用的内容,但是在一些OEM和驱动厂商,使用频率比较高

Custom Capability 有两种用户:

  1.普通应用程序开发者;

  2.Custom Capability 拥有者(一般为OEM,驱动厂商,比如Realtek,Dolby,Intel)

 

一、对于应用程序的开发者

  (可以去这儿看微软的官方文档:https://docs.microsoft.com/en-us/windows-hardware/drivers/devapps/using-a-custom-capability-to-pair-hsa-with-driver

 

  1.获取自己 App 的 PFN (Package Family Name)

    注意:PFN不能自己填,在 Windows Developer Center 中创建 你自己的 App 后,PFN就已经定下来了,不能更改,所以可以去 微软开发者中心的 Dashborad 中,查看自己 App 的 PFN.

  2.获取 Certificate Signature Hash

 

C:\Windows\System32\certutil.exe -dump 证书名称

 

    在打印出的信息中,找到 “Signature Hash”

    注意:证书需要使用最终上传应用商店所使用的证书,这个证书会在你创建上传往商店的程序包时,VS自动生成,后缀为 ".cer"。

  3.提交1、2步骤取得的 PFN 和 Hash 值,一般是发送给你需要使用的 Custom Capability 的提供者,他们会为你生成一个 SCCD (Signed custom capability Descriptor) 文件 

    注意:其实很大程度上,app 的开发者就是 custom capability 的提供者,如果真不是,你可以选择电话,邮件,微信和提供者取得联系。

  4.将SCCD文件放到你App工程根目录,并在工程中引用,并将该文件的 Build Action 设置成为 Content

  5.在 App 的配置清单文件中添加对该 Custom Capability 的引用    

<Capabilities>
    <uap4:CustomCapability Name=”CompanyName.customCapabilityName_Publisher ID” />
</Capabilities>

 

  至此,就可以使用该 Custom Capability 所支持的 Driver 或者 RPC service 了。

  备注:

    通常 Custom Capability 的拥有者对你的应用添加签名需要一定时间,十天半个月是有可能的,所以为了不影响你的开发进度,可以在开发者模式下,使用一个测试的 SCCD 文件,文件配置如下  

<?xml version="1.0" encoding="utf-8"?>
<CustomCapabilityDescriptor xmlns="http://schemas.microsoft.com/appx/2016/sccd" xmlns:s="http://schemas.microsoft.com/appx/2016/sccd">
<CustomCapabilities>
    <CustomCapability Name="你要使用的 Custom Capability 的名称"></CustomCapability>
</CustomCapabilities>
<AuthorizedEntities>
    <AuthorizedEntity AppPackageFamilyName="你的 APP 的 PFN " CertificateSignatureHash="64个字母数字组合"></AuthorizedEntity>
</AuthorizedEntities>
<Catalog>FFFF</Catalog>
</CustomCapabilityDescriptor>

  等到正式的 SCCD 文件签名完成后,就可以替换这个 测试版的文件了。

 

待续......

 

posted @ 2017-11-27 16:57  DemoApp  阅读(881)  评论(0编辑  收藏