s-blog

Microsoft Store 无法下载:WinHTTP 与 AppContainer 的完整修复记录

从 0x80072EFD/0x80072EFE 定位到 WinHTTP 与 AppContainer 环回隔离

ssssmy · 2026-07-31 · 3 min · Windows

问题现象

Microsoft Store 可以打开商品页,但点击“安装/更新”后立刻失败。事件查看器中反复出现:

  • 0x80072EFD:无法连接服务器
  • 0x80072EFE:连接被中断
  • 0x803FB01A:商城安装流程的后续失败
  • Unexpected error from IUpdateSearcher::Search

常规检查却没有异常:商城包状态正常、磁盘空间充足、Windows Update、InstallService、AppXSvc 等服务均可用,wsreset.exe 也能成功执行。

真正原因:商城使用了两条网络路径

问题不在 Microsoft Store 缓存,而在 Windows 的网络分层:

  1. 商城页面运行在 AppContainer 中。即使 Windows 系统代理指向 127.0.0.1:7890,AppContainer 默认也不能访问本机环回代理。
  2. 商城下载依赖 Windows Update / WinHTTP。WinHTTP 有独立代理配置,并不会自动跟随“设置 → 网络和 Internet → 代理”中的用户代理。

因此会出现一个很迷惑的现象:浏览器、curl,甚至商城页面能联网,但真正下载包的后台搜索器仍然直连并失败。

可以用下面的 PowerShell 只读测试 Windows Update 搜索器:

$session = New-Object -ComObject Microsoft.Update.Session
$searcher = $session.CreateUpdateSearcher()
$result = $searcher.Search("IsInstalled=0 and Type='Software'")
$result | Select-Object ResultCode, @{n='Updates';e={$_.Updates.Count}}

修复前通常直接抛出 0x80072EFD

修复方法

前提:FlClash 已运行,监听 127.0.0.1:7890,并且使用全局模式。若你的本地代理端口不同,请替换命令中的端口。

以管理员身份打开终端,执行:

netsh winhttp set proxy 127.0.0.1:7890 "<local>"
CheckNetIsolation.exe LoopbackExempt -a -n=Microsoft.WindowsStore_8wekyb3d8bbwe

第一条让 Windows Update 等 WinHTTP 客户端使用本地代理;第二条只给 Microsoft Store 添加环回访问权限,不会放开其他 AppContainer。

随后重启商城:

taskkill /F /IM WinStore.App.exe
start ms-windows-store:

再次运行上面的 Windows Update COM 搜索。如果 ResultCode 返回 2,并能得到更新数量,说明后台下载通道已经恢复。此时商城日志中也不应继续出现 0x80072EFD/0x80072EFE

下载完成后恢复

这两项配置不建议长期保留。FlClash 退出后,仍指向 127.0.0.1:7890 的 WinHTTP 客户端会无法联网;环回例外也应遵循“用完即删”的原则。

管理员终端执行:

netsh winhttp reset proxy
CheckNetIsolation.exe LoopbackExempt -d -n=Microsoft.WindowsStore_8wekyb3d8bbwe

验证恢复状态:

netsh winhttp show proxy
CheckNetIsolation.exe LoopbackExempt -s

WinHTTP 应显示 Direct access (no proxy server),环回例外列表中不再包含 microsoft.windowsstore_8wekyb3d8bbwe

可选:做成双击开关

可以把上述命令做成管理员 .cmd:选 1 设置 WinHTTP 代理并添加 Store 环回例外,选 2 恢复直连并删除例外。批处理建议使用纯 ASCII 文本和 Windows CRLF 换行,避免 UTF-8 中文字符在旧版 cmd.exe 中被错误解析、导致多行命令粘连。

排障结论

遇到 Microsoft Store 能浏览却不能下载时,不要只反复清缓存或重装商城。先确认失败是否来自 IUpdateSearcher::Search,再分别检查:

  • WinHTTP 是否仍在直连
  • 本地代理是否真正代理了 Windows Update 域名
  • Store AppContainer 是否具备访问本地代理的环回权限

把页面网络、WinHTTP 后台下载和 AppContainer 隔离这三层分开验证,通常能快速定位这类问题。

原文链接:https://www.ssssmy.com/blog/microsoft-store-wu-fa-xia-zai-winhttp-yu-appcontainer-de-wan-zheng-xiu-fu-ji-lu