You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用App Container的Chromium沙箱进程初始化时访问拒绝错误

问题分析与解决方案

核心问题总结

Windows Server 2019 Datacenter(版本10.0.17763)环境下,通过Chromium沙箱的broker进程启用App Container启动子进程时,触发0xc0000022访问拒绝错误,进程在依赖加载阶段(main函数执行前)失败;Windows 11下流程正常,且直接使用专用App Container启动器(无broker、无替代桌面、低权限令牌)启动目标进程可正常运行。关键异常点:同一构建目录下base.dll可正常加载并执行QueryFileMapping、QueryNameInformationFile等操作,但libc++.dll加载流程异常。日志中的800700B7错误仅表示App Container已存在,与核心问题无关。

排查与修复步骤

1. 对比Broker与专用启动器的令牌权限差异

  • 检查broker生成的App Container令牌是否额外包含受限SID或强制完整性标签:两种启动方式下,在目标进程中执行whoami /all(若系统支持),对比权限列表,移除broker中不必要的权限限制,确保令牌权限与专用启动器一致。
  • 验证broker是否为进程设置了替代桌面环境:该配置可能触发文件系统重定向或权限过滤,导致libc++.dll的实际加载路径或访问权限异常,可在ProcMon中筛选Redirected File事件确认。

2. 修复libc++.dll的访问权限

  • 由于服务器未安装icacls,使用默认支持的cacls命令为App Container的SID分配读取&执行权限:
    # 先通过PowerShell获取容器SID
    # Get-AppContainerProfile -Name "test_env" | Select-Object Sid
    cacls "你的构建目录\libc++.dll" /e /g S-1-15-2-<容器SID>:R
    
  • 检查libc++.dll的安全属性:右键文件→属性→安全→高级,确认App Container的SID已被授予读取权限(Windows Server 2019的App Container权限模型与Win11存在差异,需手动配置)。

3. 解决Windows Server 2019的App Container兼容性问题

  • 安装Desktop Experience功能:服务器版默认未安装该组件,部分桌面相关的App Container依赖库缺失会导致加载失败,通过服务器管理器添加该功能后重启系统。
  • 安装最新累积更新:Server 2019的kernelbase.dll、profext.dll存在App Container相关API Bug,安装KB5034441及后续累积更新可修复版本差异带来的问题。

4. 重置App Container配置

  • 先删除现有App Container,再重新创建,排除残留配置导致的权限异常:
    Remove-AppContainerProfile -Name "test_env"
    # 重新通过你的代码创建容器
    

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 17:40:18