一、模块定位
consentexperiencecommon.dll,即 Consent Experience Common,是 Windows 隐私与同意体验(Consent UX)体系中的公共支撑模块,默认部署于 %SystemRoot%\System32,在 64 位系统中同时存在 System32 与 SysWOW64 两份副本,供 64 位与 32 位宿主进程分别加载。该模块不面向最终用户直接调用,而是以 COM 组件与原生导出函数的双重形态,为上层宿主提供可复用的同意与授权能力,属于 Windows Privacy 基础设施层,被设置、Shell、OOBE 等多类宿主共享引用。
二、核心功能
- 同意策略解析:读取并解析位置、麦克风、摄像头、联系人、诊断数据等隐私项对应的策略与配置,输出宿主可直接消费的授权决策结果。
- 授权状态读写:对用户同意记录执行持久化读写与状态同步,确保同一隐私项在不同宿主中呈现一致,避免状态漂移。
- 隐私声明资源加载:按 MUI 语言资源加载本地化条款、提示与说明文本,支持多语言切换及运行时资源更新。
- 统一界面承载:向宿主提供同意对话框与同意页面的呈现接口,统一交互风格、焦点管理与 UI Automation 可访问性支持。
- 跨进程复用:通过 COM 接口暴露服务,减少各宿主重复实现同意逻辑,降低模块间耦合与版本分歧。
三、典型调用关系
| 宿主进程 | 调用场景 | 依赖方式 |
| SystemSettings.exe | 设置中的隐私和安全性页面 | COM 接口 |
| ShellExperienceHost.exe | 系统级同意弹窗与提示 | 导出函数 |
| OOBE 组件 | 首次开机同意与授权环节 | COM 接口 |
| 搜索与语音组件 | 敏感权限首次请求 | 导出函数 |
四、缺失该 DLL 的直接影响
- 模块绑定失败:依赖进程加载时返回 ERROR_MOD_NOT_FOUND(错误码 126)或 HRESULT 0x8007007E,无法完成导入表绑定。
- 隐私页面异常:设置中的隐私与权限页面出现空白、持续转圈或直接闪退。
- OOBE 卡滞:首次开机体验的同意环节无法渲染,流程停滞在等待状态,无法继续推进。
- 宿主进程崩溃:事件日志出现 Application Error(事件 ID 1000),涉及 ShellExperienceHost.exe、SystemSettings.exe 等宿主。
- 清单解析错误:事件日志出现 SideBySide 条目,提示组件清单或依赖项无法解析。
- 权限请求失效:应用首次申请敏感权限时无提示或提示异常,请求被静默拒绝。
五、修复与校验要点
可依次执行 sfc /scannow 与 DISM /Online /Cleanup-Image /RestoreHealth 从 WinSxS 组件存储恢复文件副本;同时核对 System32 与 SysWOW64 目录下版本号是否一致,并确认相关 COM 组件注册信息未损坏。