以清真的方法在 LTSC 2021 的 Win10 上安装 Winget/AppInstaller

in Technology with 0 comment

对于不喜欢频繁的“被教做事”的更新的人来说,Windows 10 的 LTSC 版本无疑是一个良好的权衡。

在不牺牲兼容性和安全性的前提下,LTSC 有显著更少的更新和“教你做事”的东西,无论是养老日用,或是用于生产用途,它或许都是一个更好的选择。

然而,LTSC 同时也不含有很多对于 UWP/Appx 来说必须的组件。尽管网上已经有很多方法重新安装 Microsoft Store,但本人认为,在如此一个 Geek 的系统中,安装一个 Bug 如此多的商店并不总是一个好主意。


所以,这里有一个权衡的选择是——安装 App Installer,连同 Winget。这不仅让侧载 Appx/Msix 变得方便,还能同时享受 Winget 的包管理功能。

本文将介绍如何在 LTSC 2021 中,以清真的系统级别安装的方法安装它。


首先,我们需要准备这些文件:

一共四个文件,下载完,放在一个好找的地方即可。


首先安装依赖,打开一个管理员权限的 PowerShell,然后执行:

Add-AppxProvisionedPackage -Online -PackagePath "C:\Microsoft.VCLibs.x64.14.00.Desktop.appx" -SkipLicense

Add-AppxProvisionedPackage -Online -PackagePath "C:\Microsoft.UI.Xaml.2.7_7.2203.17001.0_x64__8wekyb3d8bbwe.Appx" -SkipLicense

其中路径和文件名请替换为你实际下载到的文件。

这将系级级别安装 Winget 的两个依赖。如果它们出现问题,Winget 安装完后将会无法使用(且安装时并不会报错)。

你可以用 Get-AppxPackage 命令检查是否安装成功。


完成之后,安装本体。依然是在一个管理员权限的 PowerShell 中,输入:

Add-AppxProvisionedPackage -Online -PackagePath "C:\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -LicensePath "C:\9c0fe2ce7f8e410eb4a8f417de74517e_License1.xml"

依然请注意路径和文件名的替换。

完成后,即已安装完成。重新打开你的 PowerShell 以刷新 PATH 设定即可。
如果重启 PowerShell 后依然报错 winget 命令未找到,请尝试重启电脑。


执行 winget 命令的正常输出应该类似:

Windows 程序包管理器 v1.2.10271
版权所有 (C) Microsoft Corporation。保留所有权利。

WinGet 命令行实用工具可从命令行安装应用程序和其他程序包。

使用情况: winget [<命令>] [<选项>]

下列命令有效:
  install    安装给定的程序包
  show       显示包的相关信息
  source     管理程序包的来源
  search     查找并显示程序包的基本信息
  list       显示已安装的程序包
  upgrade    升级给定的程序包
  uninstall  卸载给定的程序包
  hash       哈希安装程序的帮助程序
  validate   验证清单文件
  settings   打开设置或设置管理员设置
  features   显示实验性功能的状态
  export     导出已安装程序包的列表
  import     安装文件中的所有程序包

如需特定命令的更多详细信息,请向其传递帮助参数。 [-?]

下列选项可用:
  -v,--version  显示工具的版本
  --info        显示工具的常规信息

可在此找到更多帮助: https://aka.ms/winget-command-help

当你看到这条消息的时候,我们的安装已经顺利完成,你可以放心的删掉那些安装用临时文件了。

如果你想试一试它能否正常使用,可以输入此命令,安装 Windows Terminal 来测试一下(不过在国内可能遇到速度较慢的问题):

winget install Microsoft.WindowsTerminal

Winget

参考文档:https://github.com/microsoft/winget-cli/discussions/1956
注意,此文档写得有错误(少了一个 UI.Xaml 的依赖)!

Comments