
简介Win10 LTSC默认不带应用商店常让需要UWP应用和系统内置应用的用户感到不便。这套离线安装包正是针对这一痛点可帮助这类用户在不更新系统版本的前提下快速恢复应用商店功能。资源共19个文件包含10个appx、4个appxbundle、4个xml和1个cmd脚本压缩包整体大小73.09MB其中appx/appxbundle提供商店主体及.NET框架、VC运行库等依赖xml为配置清单cmd用于一键安装。目前已有12648人学习下载说明该需求在LTSC用户群体中比较普遍。通过该离线包读者可离线完成商店部署获得完整依赖集合尤其适合无外网或需批量部署的办公、实验环境用户只需具备基础命令行操作能力即可使用不过作者也提示离线安装只是权宜之计稳定性和兼容性需自行测试确认。1. 装了 LTSC 才发现商店也没了这份独立安装包解决的就是这件事装完 win10 LTSC 应用商店消失是每个用长期服务版的人都绕不过去的一坎。我最初装的是 LTSC 2021系统跑得确实干净但等我要装微信、看 UWP 应用时才发现商店整个被砍掉了连“设置里补装”的入口都没有。折腾了一圈最后落在“win10 LTSC 应用商店独立安装包”这种离线部署方案上一次性把商店本体和依赖包全装齐。这篇笔记要把这套东西拆明白为什么 LTSC 没有商店、独立安装包里到底装了什么、安装命令怎么敲、失败怎么排。适合刚重装完 LTSC 找不到商店的新手也适合反复被 0x80073CF9 折磨的老手。内容全部基于我实际拆过、装过的经历照着走到最后就是能用的商店。2. 为什么 LTSC 没有应用商店被砍掉的原因和补装原理2.1 LTSC 的定位决定了它不带商店LTSC 全称 Long Term Servicing Channel走的是“长期服务”路线微软对它的定位是只打安全补丁不推功能更新保证运行环境在几年内保持稳定。为此微软把商店、Cortana、Edge旧版、OneDrive 这些“会变”的东西全部从映像里拿掉了。商店本身迭代频繁留在 LTSC 里反而违背“不变”的原则。但问题在于当下不少软件把分发渠道押在商店上。字体、输入法、游戏、部分行业工具很多只在商店上架或优先商店更新。LTSC 用户一重装系统第一件事就是找商店怎么装回来。网上流行的各种“恢复工具”原理各不相同很多是联网拉包公司内网、弱网环境下直接阵亡。独立安装包的思路不一样——它把所有文件放在本地离线就能完成部署。理解这一点很关键因为它决定了后续排错的方向你装的不是一个普通的 exe而是通过 Windows 自带的 AppX 部署机制把一个 UWP 应用安装到系统里。任何报错都得从“包与系统是否匹配”的角度去查。2.2 商店本体是 UWP 应用AppX 部署机制允许离线补装微软把商店本身做成了 UWP 应用发布格式是 appx 或 msixbundle。UWP 应用安装并不依赖商店客户端存在系统里的 AppXSVC应用部署服务才是真正干活的。LTSC 虽然删掉了商店前台但部署框架、包管理等基础组件仍然保留这就给离线补装留下了入口。安装时实际执行的是Add-AppxPackage这个 PowerShell 命令它负责把 .appx/.msix 包里的内容展开、注册到系统、建立启动项。这个机制有个特点包与包之间有依赖关系。商店本体不是孤立的运行它需要 VCLibs 运行库、.NET Native 框架、Store Engagement 服务等前置包。缺少任何一个安装就直接回滚。所以离线安装包不是“一个商店的安装文件”而是一整套依赖链。这也是很多新手失败的原因只找一个“Microsoft Store”的 appx 文件装上报错后一脸懵实际上缺的是它前面的地基。2.3 独立安装包和联网恢复工具的本质差别联网恢复工具的设计思路是“引导系统去微软 CDN 拉取对应版本的商店包”。听起来方便但有几个前提你的网络能直连微软端点、DNS 解析正常、且系统信任当前账户上下文。国内网络环境、公司域控策略、代理干扰任何一个环节出问题工具就卡在“正在连接服务器”上不动了。独立安装包把这些不确定因素全部去掉。包内自带的依赖和商店本体版本是打包者预先匹配好的安装过程不访问外网成败只取决于“系统版本是否兼容、服务是否开启、包是否缺件”这几个本地因素。哪怕是在断网的虚拟机里只要 LTSC 系统本身是完整的按顺序装就能成功。这也解释了为什么 LTSC 2019 和 LTSC 2021 的安装包不能互换——前者的 Build 是 17763后者是 19041 系列商店包有最低系统版本要求版本不够直接拒绝部署。3. 拆开安装包文件结构、依赖清单和安装命令详解3.1 包内文件清单与对应作用拿到独立的商店安装包解压后第一件事就是看目录结构。典型的包内结构大致是一个 Dependencies 目录存放所有依赖包根目录放着商店本体和购买服务包。我拆过几份不同来源的包文件名会有差异但角色是一致的。文件 / 目录作用安装顺序Dependencies 目录存放商店运行所需的基础依赖最先安装Microsoft.VCLibs.140.00C 运行时库UWP 应用通用依赖依赖序Microsoft.NET.Native.Framework.NET Native 框架提供托管运行环境依赖序Microsoft.NET.Native.Runtime.NET Native 运行时依赖序Microsoft.Services.Store.Engagement商店的账户与推送服务组件依赖序Microsoft.WindowsStore商店本体即你要的客户端最后Microsoft.StorePurchaseApp购买与许可相关的辅助应用本体之后依赖包之间存在先后关系。比如 VCLibs 要在商店本体之前.NET Native 的 Framework 要在 Runtime 之前。好在绝大多数打包者已经把顺序排好安装脚本按目录遍历即可。真正要检查的是Dependencies 目录里是否所有子包都在有没有漏下载。3.2 从解压到执行完整安装命令把安装包解压到本地路径后假设为C:\StoreOffline我一般分两步执行。第一步把所有依赖包安装进去$depPath C:\StoreOffline\Dependencies $files Get-ChildItem -Path $depPath -Recurse -Include *.appx, *.msix, *.appxbundle, *.msixbundle foreach ($file in $files) { Add-AppxPackage -Path $file.FullName -ForceApplicationShutdown }这段脚本做了三件事用Get-ChildItem -Recurse递归找出 Dependencies 目录下所有.appx、.msix及对应的 bundle 格式文件然后用foreach逐个执行Add-AppxPackage-ForceApplicationShutdown强制关闭正在使用这些依赖的应用避免文件占用导致安装回滚。之所以用foreach而不是直接管道给Add-AppxPackage是为了每个包独立报错某个失败能立刻看到是哪个路径出的问题。第二步安装商店本体Add-AppxPackage -Path C:\StoreOffline\Microsoft.WindowsStore.msixbundle -ForceApplicationShutdown -ForceUpdateFromAnyVersion-ForceUpdateFromAnyVersion的作用是允许从任意旧版本升级某些场景下你可能已经装过旧版商店不带这个参数会提示“已安装更高版本”之类的问题。商店本体文件名可能是.appx也可能是.msixbundle以包内实际情况为准。执行完毕后不会有什么“安装成功”的弹窗一切正常的话命令窗口会静默返回。3.3 命令参数和常见误用拆解新手最容易误解的是-AllUsers参数。商店是系统级应用给当前用户装和给所有用户装效果不一样。常见做法是直接加-AllUsers让所有登录账户都能看到商店Add-AppxPackage -AllUsers -Path C:\StoreOffline\Microsoft.WindowsStore.msixbundle -ForceApplicationShutdown加了-AllUsers后部署范围变成整个系统之后再新建本地账户也自动有商店入口。如果漏了这个参数某些多账户的机器上其他用户登录后依旧找不到商店。另外有人把-ForceUpdateFromAnyVersion当作万能参数四处加其实它只管版本升级管不了依赖缺失。依赖与本体安装回报错时常见的表现是“找不到包依赖”或“包与系统版本不兼容”。前者回到 3.1 的清单逐项核对后者看包对应的系统版本。我一般会先用系统信息命令确认 Build 号见 4.1再去选择匹配的安装包避免装到一半才发现批次不对。4. 跟着走的完整安装流程从准备到验证4.1 安装前检查版本、服务与残留状态在跑任何安装命令前先确认三件事系统版本、部署服务状态、是否已有商店残留。系统版本用这条命令查Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumberCaption显示的是“Windows 10 企业版 LTSC”Version和BuildNumber则决定你应该用哪一套商店包。LTSC 2019 的 Build 是 17763LTSC 2021 的 Build 是 19044以更新补丁为准。拿到 Build 号之后对照安装包标注的系统要求版本不对的包直接放弃。第二件事检查关键服务有没有被禁用Get-Service AppXSVC, ClipSVC | Select-Object Name, Status, StartTypeAppXSVC是应用部署服务ClipSVC是客户端许可服务。前者用于安装 UWP 应用后者负责商店和部分应用的授权校验。两者Status必须是Running如果显示空白或Disabled安装一定失败。出现这种情况多半是系统被精简过头或优化软件手动禁掉了服务。开启方式是“服务管理器里把启动类型改回手动并启动”不要用第三方工具一键优化。第三件事检查系统里是否已有商店残留Get-AppxPackage -AllUsers -Name Microsoft.WindowsStore有输出说明之前装过但出了问题需要先卸载再重新装。卸载命令是Get-AppxPackage -AllUsers -Name Microsoft.WindowsStore | Remove-AppxPackage -AllUsers注意卸载时如果系统提示“找不到包”说明之前是残留了产品信息但包不完整这时可以直接跳过卸载步骤用Add-AppxPackage -ForceUpdateFromAnyVersion强装覆盖。4.2 执行安装脚本路径与手动路径确认环境没问题后按顺序执行。我习惯先把执行策略放行避免 PowerShell 默认策略挡住脚本Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force-Scope Process只对当前窗口生效不影响系统策略比改注册表安全得多。接着回到第 3 章的两步走先依赖后本体。如果你把安装包解压到了 D 盘某目录脚本里的$depPath要改成你的实际路径路径中有空格必须用引号包住。手动路径适合不想写脚本的人打开资源管理器定位到Dependencies目录按住 Shift 键右键空白处选“在此处打开 PowerShell 窗口”然后按依赖文件名字母序逐个执行Add-AppxPackage -Path 文件名。依赖文件数量多时手动逐个装很费时间我一般推荐脚本路径。安装过程中如果窗口闪了一下又回到提示符没有任何报错通常就是成功了。真正让人头疼的是那种“安装到一半滚回”的情况这类问题统一放在第 5 章讲。4.3 安装后的验证命令、图标与应用内登录装完不要急着开商店先跑验证命令Get-AppxPackage -Name Microsoft.WindowsStore | Select-Object Name, Version, Status, InstallLocation重点看Status有没有显示Ok。如果显示NeedsRemediation或包列表里压根找不到Microsoft.WindowsStore说明安装并没用真正落盘。找到后记下InstallLocation路径到那个目录下能看到商店的完整文件这时基本可以判断安装是完整的。界面验证也很简单在开始菜单搜索“Store”或“应用商店”图标出现后点开。商店首页能加载、能显示应用分类说明部署成功。最后一步登录微软账户下载一个小于 10MB 的小应用测试完整链路。这一步能过滤掉“商店打开了但账户服务没起来”的隐性故障。在线验证时如果卡在登录转圈先检查系统时间是否正确、ClipSVC是否被关闭再考虑商店版本是否过旧。这些是独立安装包到手后最常见的后续问题具体排错见下一章。5. 避坑记录排掉安装商店时的 5 个经典故障5.1 报错 0x80073CF9商店装了一半整体回滚现象执行Add-AppxPackage后命令窗口短暂停顿然后抛出 0x80073CF9商店图标没有出现系统事件查看器里能看到部署失败记录。原因这个报错的含义是“包安装失败系统已回滚”绝大多数情况下是依赖缺失或版本不匹配。我遇到过不止一次只下载了商店本体文件Dependencies 目录根本没下全尤其是 VCLibs 和 .NET Native Runtime 这类基础包漏掉系统在部署阶段校验依赖失败。解决把 Dependencies 目录清点一遍对照第 3.1 节清单逐项检查确认文件无缺失后重新跑依赖安装命令。还有一种情况是包是为高版本系统构建的比如用 Build 19041 的包去装 17763 的 LTSC 2019也会出现 CF9。此时换包比强行安装靠谱不用犹豫。5.2 商店能打开但登录微软账户时一直转圈现象商店界面正常应用列表能加载但点“登录”后一直转圈偶尔报“我们这边出了问题”。原因这通常是ClipSVC服务被精简掉了或处于禁用状态。LTSC 2019 某些镜像里这个服务被优化软件改成了 Disabled导致商店连账户授权的入口都建立不起来。另外如果系统时间是错的比如主板电池失效回到了 2019 年TLS 握手直接失败表现也是转圈。解决先同步时间再用服务管理器查ClipSVC启动类型设为“手动”然后手动启动服务。如果服务不存在说明镜像删得太狠需要找完整依赖链重新部署。我一般还会顺手执行一次wsreset.exe重置商店缓存清掉之前登录失败留下的状态。5.3 WSAPPX 进程 CPU 占用高风扇咔咔转现象装完商店后系统无事发生但任务管理器里 WSAPPX 进程持续占一个核有时高达 30% 以上持续十几分钟。原因WSAPPX 承载的是应用部署相关服务装完一堆 UWP 包后系统会在后台做部署完成后的收尾工作。这期间如果有 Windows Defender 实时保护介入扫描 WindowsApps 目录CPU 会被两个高负载任务拖满。还有一个因素是某些精简系统触发了部署队列积压服务在反复补偿。解决先等 20 到 30 分钟观察是否自动降下来。降不下来就打开“病毒和威胁防护”把实时保护临时关掉看 CPU 是否回落。如果回落说明是扫描冲突装完商店后再重新打开实时保护。我的习惯是装完商店先别急着操作给它半小时后台静默期这也是血泪经验换来的。5.4 LTSC 2019 装 LTSC 2021 的包商店打不开闪退现象商店图标能出现点开后一秒闪退事件查看器里记录的是应用崩溃代码和模块指向系统 DLL。原因商店 UWP 应用对系统版本有硬性要求LTSC 2019 的系统 API 集合缺少新版商店运行时所需的接口。虽然包体安装进去了运行阶段照样崩。这在技术圈里算“版本号玄学”的一部分核心是商店的 manifest 里声明的TargetDeviceFamily版本号高于本机 Build。解决不要尝试用商店本体升级补丁来修直接卸载换成匹配 LTSC 2019 的旧版商店包。这类包在国内社区里标注得很清楚选包时看准“2019 专用”字样。装完旧版后不要手贱升级商店否则又回到闪退状态。5.5 重装系统后商店消失之前的安装包还留在本地现象系统重装后商店没了拿之前下过的安装包重跑报 0x80073CF9 或各种依赖错误。原因重装后的系统可能安装了不同累计更新Build 号变了或者之前安装包的依赖版本已经和当前系统不兼容。更隐蔽的原因是重装系统后你换了个本地账户快捷方式和注册的部署信息全部消失后台部署服务处于新状态旧包直接部署会被判定为版本冲突。解决重装系统后不要直接用旧包硬装。先跑 4.1 的版本检查确认 Build 号有商店残留先卸载清理再把 Dependencies 全部重装一遍最后装本体。如果之前装的累计更新比商店包打包时的系统版本高优先下载更新批次的商店包。仓库里保留多个批次的包比赌一个“万能包”稳妥得多。6. 进阶玩法把离线部署思路扩展到其他 UWP 应用这套安装逻辑不止能用在一个商店身上。换掉安装包的路径你可以用同样的命令给 LTSC 装上常用的 UWP 应用比如微信、哔哩哔哩、邮件和日历这类从商店分发的应用。很多开发者会把这类应用加打包成离线包放给不便联网安装的用户。使用方法没有任何区别一样的 Dependencies 依赖前置一样的Add-AppxPackage部署Add-AppxPackage -Path C:\UwpOffline\某应用.msixbundle -ForceApplicationShutdown区别在于普通应用不强制-AllUsers单用户使用反而更省事。而像邮件、日历这类系统级应用建议加-AllUsers以便各账户统一体验。更实用的是把这个思路反过来用当你能上网、商店正常时把商店里想保留的应用离线备份下来。先查出应用安装位置Get-AppxPackage -Name *Tencent* | Select-Object Name, PackageFullName, InstallLocationInstallLocation指向应用实际文件存放目录但直接拷贝这个目录并不能跨系统恢复UWP 应用的部署信息和证书关联不在文件夹里。我的习惯是“备份安装包而非备份安装结果”——在应用还能下载时用商店页面复制下载链接或用第三方工具把对应的离线包拉下来保存。这样重装系统后把依赖目录和本体重放回同一个文件夹按第 4 章的流程跑一遍比临时找资源靠谱得多。这套玩法用好之后LTSC 重装的成本就低了。后来我每次给别人装 LTSC都会把商店离线包和常用 UWP 包一起放进 U 盘装完系统顺手把依赖、商店、常用应用一路装齐再也不需要临时翻网页找资源绕远路。不管你是公司网管的静默部署还是自己机器上的日常维护这套“本地包 顺序部署 验证三连”的流程都适用。希望帮到你。本文还有配套的精品资源点击获取