Windows如何启动AppX/MSIX打包应用?以Win11设置应用为例
Windows启动AppX/MSIX打包应用的流程(以Windows 11设置应用为例)
设置应用的Manifest核心配置
设置应用(ImmersiveControlPanel)的AppxManifest.xml中定义了启动关键信息:
<Applications> <Application Id="microsoft.windows.immersivecontrolpanel" Executable="SystemSettings.exe" EntryPoint="AppObject.EntryPoint"> [...] </Application> </Applications>
其中Executable指定进程启动的可执行文件,EntryPoint是应用的激活入口类标识。
从触发到窗口显示的完整步骤
1. 启动请求触发
- 开始菜单点击:开始菜单快捷方式关联了应用的
Package Family Name和Application ID,点击后向系统发送明确指向该应用的启动请求。 ms-settings:settings调用:系统协议处理机制识别到ms-settings协议,通过注册表查询到该协议绑定的应用为ImmersiveControlPanel,随后生成对应启动请求。
2. 系统激活管理器处理请求
Windows的Activation Manager(负责UWP/打包应用激活的COM组件)接收请求后:
- 验证应用合法性:检查ImmersiveControlPanel包是否已注册、
Application ID是否存在于Manifest配置中。 - 读取Manifest配置:提取
Executable(SystemSettings.exe)和EntryPoint(AppObject.EntryPoint)的具体信息。
3. 应用容器与运行环境初始化
- 系统为应用创建隔离的应用容器,基于包的安全策略配置权限、文件系统隔离、注册表虚拟化等沙箱环境。
- 加载依赖的运行时组件(如UWP框架),初始化进程的环境变量、沙箱边界等基础运行条件。
4. 进程启动与入口激活
- 启动
SystemSettings.exe进程,该进程是适配UWP的宿主程序,启动后加载对应的.NET/UWP运行时。 - 根据
EntryPoint找到AppObject.EntryPoint对应的COM类/托管类型,调用激活接口(如IApplicationActivationContract.Activate),触发应用核心逻辑初始化。
5. UI渲染与窗口显示
- 应用进程创建窗口对象,加载设置应用的UI布局、资源文件,完成界面逻辑初始化。
- 系统窗口管理器将窗口绘制到桌面,最终完成设置应用的显示。
补充说明
设置应用属于系统级打包应用,和普通第三方MSIX/AppX的差异在于:它拥有更高的系统权限,部分逻辑直接调用系统内部API;安装路径位于系统目录,由Windows维护其注册信息和更新。
内容的提问来源于stack exchange,提问作者lulle2007200
相关产品推荐
相关产品推荐

