乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - 传统应用通过稀疏包插上现代Windows特性的翅膀


背景

许多Windows 10/11可扩展性功能需要在非UWP桌面应用中使用程序包标识符,包括后台任务通知动态磁贴共享目标。对于这些情况,OS需要使用标识来识别相应API的调用方

在Windows 10/11版本2004之前的OS发行版中,向桌面应用授予标识符的唯一方式是将该应用打包到已签名的MSIX包中。对于这些应用,将在程序包清单中指定标识,并由MSIX部署管道根据清单中的信息处理标识注册。程序包清单中引用的所有内容都存在于MSIX包中

Windows 10/11版本2004开始,可以通过生成稀疏包并将其注册到应用,向未打包到MSIX包中的桌面应用授予包标识符。通过此支持,尚不能采用MSIX打包方式进行部署的桌面应用可以使用需要程序包标识符的Windows 10/11可扩展性功能

资料和示例

  • https://aka.ms/sparsepkgsample
  • SparsePackages
  • Identity, Registration and Activation of Non-packaged Win32 Apps

生成并注册稀疏包

为稀疏包创建程序包清单

生成稀疏包并为稀疏包签名

将程序包标识符元数据添加到桌面应用程序清单

在运行时注册稀疏包

参考

  • 向未打包的桌面应用授予标识
  • Signed Sparse Packages and Identity
  • https://aka.ms/sparsepkgsample
  • SparsePackages
  • Identity, Registration and Activation of Non-packaged Win32 Apps