Windows系统应用部署与虚拟化技术解析
1. 现代应用的安装与部署
在Windows系统中,当用户想要安装一个现代应用时,通常会打开应用商店(AppStore),搜索应用并点击“获取”按钮。这一操作会触发一系列复杂的流程。
首先,系统会下载一个包含多个文件的存档,其中有包清单文件、应用数字签名以及块映射。这些文件代表了数字签名中证书的信任链。该存档最初会存储在 C:\Windows\SoftwareDistribution\Download 文件夹中。应用商店进程( WinStore.App.exe )会与Windows更新服务( wuaueng.dll )进行通信,由后者管理下载请求。
下载的文件是清单,包含了现代应用的所有文件列表、应用依赖项、许可数据以及正确注册包所需的步骤。Windows更新服务会识别出这是一个现代应用的下载请求,验证调用进程令牌(应为AppContainer),并使用 AppXDeploymentClient.dll 库提供的服务,验证该包是否尚未安装在系统中。然后,它会创建一个AppX部署请求,并通过RPC将其发送到AppX部署服务器。
AppX部署服务器作为PPL服务在共享服务主机进程中运行(该进程还托管客户端许可服务,运行在相同的受保护级别)。部署请求会被放入一个队列中,以异步方式进行管理。当AppX部署服务器接收到请求时,会将其出队并生成一个线程,开始实际的现代应用部署过程。
从Windows 8.1开始,UWP部署堆栈支持捆绑包的概念。捆绑包是包含多个资源的包,例如不同的语言或专为特
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



