Windows修复Microsoft Store无法正常打开问题

适用场景:

  • 打开 Microsoft Store(微软商店) 时只显示“灰色骨架屏 / 白屏”
  • 过一会儿提示类似 “初始化失败 / failed to initialize / something went wrong”
  • 在“应用设置 → 修复 / 重置”之后能好一阵子,过一段时间又再次出问题

本文提供一套 可直接使用的 .bat 修复脚本,并解释每一步在做什么,方便你排查是否还有环境层面的根因没有解决。


一、适用环境与前置说明

  • 系统:Windows 11 专业版 64 位(其他 Win11 版本大多也可参考)
  • 权限要求:必须以 管理员身份 运行脚本
  • 网络要求:
    • 尽量使用稳定、未被限速或拦截的网络
    • 如果你使用了 全局代理 / 系统代理 / 科学上网软件(如 Clash、NekoRay 等),建议在执行脚本和测试商店前 先关闭系统代理,这类工具经常会导致微软商店初始化异常

⚠️ 风险提示(相对安全):

  • 脚本不会删除你的个人文件
  • 涉及的操作主要是:
    • 修复系统组件(DISM、SFC)
    • 检查并启动与商店相关的关键服务
    • 清空 Microsoft Store 缓存
    • 重新注册 Microsoft Store 应用包
  • 不包含激进的“系统精简”操作,一般不会对正常应用造成破坏

二、使用步骤总览

  1. 使用记事本创建 .bat 文件(保存为 UTF-8 编码,防止中文乱码)
  2. 将下文提供的 完整脚本 原样复制进 .bat
  3. 右键该文件 → 以管理员身份运行
  4. 等脚本所有步骤执行完毕后,重启电脑
  5. 重启后测试 Microsoft Store 是否恢复正常
  6. 若问题仍不稳定,再根据文末“额外排查项”继续检查网络、代理、账户等因素

三、完整批处理脚本(中文简体,无需自行改动)

建议文件名示例:Fix_Microsoft_Store_Win11.bat
保存时在记事本中选择:

  • 文件 → 另存为
  • 编码:选择 UTF-8(为避免乱码,脚本内已主动切换到 UTF-8 代码页)
@echo off
title 修复 Microsoft Store (Windows 11)

:: 切换控制台为 UTF-8,避免中文输出乱码
chcp 65001 >nul

echo =====================================================
echo   Windows 11 Microsoft Store 修复脚本
echo   请确保以「管理员身份」运行本脚本
echo =====================================================
echo.

:: 检查是否为管理员权限
net session >nul 2>&1
if %errorlevel% NEQ 0 (
  echo [错误] 当前不是管理员权限。
  echo        请右键本文件,选择「以管理员身份运行」后重新执行。
  echo.
  pause
  exit /b 1
)

echo [1/5] 使用 DISM 修复系统组件映像,过程可能需要一些时间...
DISM /Online /Cleanup-Image /RestoreHealth
echo.
echo DISM 操作已完成(如有报错请记录错误代码以便后续排查)。
echo.

echo [2/5] 使用 SFC 扫描并修复系统文件,耗时取决于硬盘和系统状况...
sfc /scannow
echo.
echo SFC 扫描已完成(如提示发现损坏但无法修复,请考虑就地升级修复安装)。
echo.

echo [3/5] 检查并启用与 Microsoft Store 相关的关键服务...
echo     - BITS(后台智能传输服务)
echo     - wuauserv(Windows Update)
echo     - cryptsvc(加密服务)
echo     - AppXSvc(AppX 部署服务)
echo     - ClipSvc(客户端许可证服务)
echo.

for %%S in (bits wuauserv cryptsvc AppXSvc ClipSvc) do (
  sc config %%S start= demand >nul 2>&1
  net start %%S >nul 2>&1
)

echo 关键服务检查与启动操作已完成。
echo.

echo [4/5] 清空 Microsoft Store 缓存 (wsreset)...
echo 这一步会关闭当前已打开的 Microsoft Store,并清理本地缓存。
wsreset.exe
echo 如果此时自动打开了 Microsoft Store,请先将其关闭,然后继续。
echo.

echo [5/5] 重新注册 Microsoft Store 应用包...
echo 这一步将重新注册 Microsoft.WindowsStore 的 AppX 包信息。
echo.

powershell -NoProfile -ExecutionPolicy Bypass ^
  -Command "$pkg = Get-AppxPackage -AllUsers Microsoft.WindowsStore; if ($pkg) { Add-AppxPackage -DisableDevelopmentMode -Register ($pkg.InstallLocation + '\AppXManifest.xml'); Write-Host 'Microsoft Store 重新注册完成。' } else { Write-Host '未找到 Microsoft.WindowsStore 应用包,请检查系统是否被精简或禁用 UWP。'; exit 1 }"

echo.
echo ==============================================
echo   所有步骤执行完毕!
echo   建议现在重启电脑,然后重新测试 Microsoft Store。
echo ==============================================
echo.

pause

四、脚本各步骤详细说明

1. 切换编码与管理员检查

chcp 65001 >nul
net session >nul 2>&1
if %errorlevel% NEQ 0 ( ... )
  • chcp 65001:将当前控制台代码页切换为 UTF-8,避免中文提示出现乱码。
  • net session:用于判断当前是否有足够权限访问网络会话,普通用户执行会报错,据此可判断是否为管理员。

如果不是管理员,脚本会直接提示并退出,防止出现权限不足导致的“执行失败但你没看出来”。


2. DISM 修复系统组件映像

DISM /Online /Cleanup-Image /RestoreHealth
  • 作用:

    • 检查并修复系统组件存储(WinSxS),是修复 UWP 平台、系统服务损坏 的关键一步。
  • 这一步可能会比较耗时,期间请不要强行关闭窗口。

  • 如果报错(如找不到源、错误代码等),说明系统组件损坏较严重,后续可能需要 就地升级修复安装 Windows 来彻底恢复。


3. SFC 扫描与修复系统文件

sfc /scannow
  • 作用:

    • 对所有受保护的系统文件进行校验,如果发现损坏就从组件存储中还原。
  • 若提示 “发现损坏文件并成功修复”:说明刚才确实有系统文件损坏。

  • 若提示 “发现损坏文件但无法修复其中部分”:可能需要在安全模式下再次运行,或考虑就地升级修复安装。


4. 检查并启用关键服务

for %%S in (bits wuauserv cryptsvc AppXSvc ClipSvc) do (
  sc config %%S start= demand >nul 2>&1
  net start %%S >nul 2>&1
)

涉及的服务:

  • BITS:后台智能传输服务,微软商店下载/更新经常依赖它
  • wuauserv:Windows Update 服务,部分 UWP 和授权流程会用到
  • cryptsvc:加密服务,涉及证书、签名验证等
  • AppXSvc:AppX 部署服务,负责 UWP 应用的安装/更新/注册
  • ClipSvc:客户端许可证服务,涉及 UWP 授权与许可

很多“优化软件 / 精简脚本”会直接把这些服务改成“禁用”,导致微软商店各种诡异报错。
这里统一把它们的启动类型设置为 按需启动(demand),并尝试立即启动一次。


5. 清空 Microsoft Store 缓存

wsreset.exe
  • 等价于你在“运行”中输入 wsreset 并执行:

    • 关闭当前商店窗口
    • 清除本地缓存
    • 再尝试重新打开商店(脚本中提示你可以先关闭)
  • 这是微软官方文档推荐的修复步骤之一,用于处理商店缓存损坏 / 配置异常。


6. 重新注册 Microsoft Store 应用包

powershell -NoProfile -ExecutionPolicy Bypass ^
  -Command "$pkg = Get-AppxPackage -AllUsers Microsoft.WindowsStore; if ($pkg) { Add-AppxPackage -DisableDevelopmentMode -Register ($pkg.InstallLocation + '\AppXManifest.xml'); ... }"
  • 这一步做的事情相当于手动在 PowerShell 中执行:

    • Get-AppxPackage -AllUsers Microsoft.WindowsStore:找到商店的应用包信息
    • Add-AppxPackage -DisableDevelopmentMode -Register "...\AppXManifest.xml":重新注册这个 UWP 应用
  • 如果提示 “未找到 Microsoft.WindowsStore 应用包”,说明系统很可能被精简/篡改过,需要:

    • 使用官方 ISO 做就地升级修复安装;
    • 或考虑重装系统。

五、防止中文乱码的小技巧

  1. 保存编码选 UTF-8

    • 在记事本中另存为 .bat 时,编码选项中选择:UTF-8
  2. 脚本最前面加上

    chcp 65001 >nul
    

    让控制台使用 UTF-8 代码页显示中文。

  3. 运行批处理时,建议使用支持中文显示的字体(例如“新宋体”、“微软雅黑”等)。


六、如果脚本执行后仍然出问题,可以继续排查这些点

1. 检查代理 / 科学上网工具

很多“白屏 + 初始化失败”其实是 网络被代理/拦截 导致商店连不上服务器:

  • 如果你在用:

    • Clash / CFW
    • NekoRay / V2Ray 客户端
    • 其他自动勾选“系统代理”的工具
  • 建议:

    1. 先在这些软件里 关闭系统代理 / 退出程序
    2. 打开 设置 → 网络和 Internet → 代理,确认没有残留的 HTTP / SOCKS 代理
    3. 重启电脑后再试商店

如果关闭代理后商店恢复正常,那么问题不在系统,而在代理规则或程序本身。


2. 检查系统更新时间

  • 打开 设置 → Windows 更新 → 检查更新
  • 安装所有重要的系统更新和 .NET 更新,有时微软会通过更新修复某些 UWP / 商店相关 Bug

3. 测试“新用户”是否正常

有时问题只发生在当前用户配置文件中:

  1. 打开 设置 → 帐户 → 其他用户
  2. 新建一个本地账户(设置为管理员)
  3. 切换到新账户登录
  4. 在新账户下打开 Microsoft Store 测试
  • 如果 新账户正常,旧账户一直异常

    • 说明是旧账户的 UWP 配置整体损坏,理论上可以考虑把文件迁移到新账户,或做更深入的注册表/配置清理(不推荐普通用户手工改)。

4. 考虑“就地升级修复安装” Windows 11

当 DISM/SFC 仍然无法完全修复系统,或者 UWP 组件已经严重损坏时,可以使用 官方 ISO 进行就地升级修复

  • 从微软官网下载对应版本的 Windows 11 ISO

  • 在系统内挂载 ISO,运行 setup.exe

  • 选择:

    • 保留个人文件和应用
  • 按向导完成安装,相当于“就地重装系统组件”,但不删除你的软件和数据

这一招对于“系统被各种精简工具/优化器折腾过”的情况非常有效。


七、结语

  1. 复制脚本 → 保存为 Fix_Microsoft_Store_Win11.bat(编码 UTF-8)
  2. 右键 → 以管理员身份运行 → 按提示等待所有步骤完成
  3. 重启电脑 → 测试 Microsoft Store