0

Windows 官方包管理器 — Winget 完整安装指南

传统的 Windows 软件安装方式往往需要逐一访问官方网站、下载安装包、手动执行安装向导,既繁琐又耗时。winget 作为 Microsoft 官方推出的 Windows 包管理器,为用户带来了类似 Linux 系统中 apt、yum 或 macOS 系统中 Homebrew 的便捷体验,通过简单的命令行操作即可完成软件的安装、更新和卸载。

winget 支持 Windows 10(版本 1809 及以上)和 Windows 11 系统,适配 x64、x86、ARM64 等主流架构。本指南将详细介绍如何在各种 Windows 环境下安装 winget,包括标准版本、企业版、LTSC 版本以及禁用了 Microsoft Store 的系统,确保所有用户都能顺利使用这一强大的包管理工具。

Windows 官方包管理器 winget

为什么要使用 winget

winget 作为 Windows 平台的现代化包管理器,为用户带来了诸多实际价值:

效率提升:通过命令行一键安装软件,无需手动访问网站、下载安装包、点击安装向导,大幅缩短软件部署时间。例如安装 Visual Studio Code 只需执行 winget install Microsoft.VisualStudioCode,整个过程自动完成。

批量管理:支持通过单条命令更新系统中所有已安装的软件(winget upgrade --all),彻底解决逐一检查更新的繁琐操作,特别适合需要维护多台设备的用户。

脚本化部署:开发者和 IT 管理员可以编写自动化脚本,快速配置新系统或统一部署企业应用,显著降低系统配置成本。配合 PowerShell 或批处理文件,可实现一键安装所需的全部开发工具链。

版本控制:winget 允许安装软件的特定版本,便于开发环境的精确管理。同时,所有安装的软件都经过 Microsoft 官方软件源验证,安全性有保障。

统一体验:为 Windows 用户提供了与 Linux(apt、yum)、macOS(Homebrew)类似的包管理体验,降低跨平台开发者的学习成本,提升工作流一致性。

系统要求与前置检查

在开始安装前,需要确认系统是否满足以下要求:

  • 操作系统:Windows 10 版本 1809(内部版本号 17763)或更高版本、Windows 11 任意版本
  • 系统架构:x64、x86 或 ARM64
  • 必需组件:App Installer 应用(通常通过 Microsoft Store 安装)

检查是否已安装 winget 的方法非常简单。打开 PowerShell 或命令提示符,输入以下命令:

winget --version

如果返回版本号(如 v1.7.xxxx),说明系统已安装 winget。如果提示“不是内部或外部命令”,则需要按照下文方法进行安装。

安装方法

方法一:通过 Microsoft Store 安装(推荐)

这是最简单且最可靠的安装方式,适用于可以正常访问 Microsoft Store 的 Windows 10(1809+)和 Windows 11 系统。

App Installer

具体步骤如下:

  1. Win + S 键打开搜索框,输入“Microsoft Store”并打开应用商店
  2. 在商店搜索栏中输入“App Installer”,如若搜索不到,请直接访问这个地址:https://apps.microsoft.com/detail/9NBLGGH4NNS1
  3. 点击“获取”或“安装”按钮,等待自动下载和安装完成
  4. 安装完成后,打开 PowerShell 或命令提示符,输入 winget --version 验证安装成功

方法二:手动下载安装包(适用于无法访问 Microsoft Store 的情况)

部分企业版、教育版或 LTSC 版本的 Windows 系统可能禁用了 Microsoft Store,此时需要手动下载安装包,或者参考这篇文章来安装 Microsoft Store

第一步:下载主安装包

访问 winget 的 GitHub Releases 页面,在最新版本(Latest)的 Assets 部分找到并下载 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle 文件。如果需要特定架构版本,也可下载对应的 .msix 文件。

第二步:下载依赖项

winget 运行需要以下两个依赖库:

  • VCLibs(必需):从 Microsoft 官方链接下载 x64 版本,或根据系统架构选择 x86 / ARM64 版本
  • UI.Xaml(Windows 10 必需):访问 NuGet Gallery,下载 Microsoft.UI.Xaml.2.8.x 包,将 .nupkg 文件扩展名改为 .zip 并解压,在 tools/AppX/x64/Release/ 目录下找到 Microsoft.UI.Xaml.2.8.appx 文件
第三步:安装依赖项和主程序

管理员身份打开 PowerShell,依次执行以下命令(将路径替换为实际下载位置):

# 安装 VCLibs 依赖
Add-AppxPackage -Path "C:\Downloads\Microsoft.VCLibs.x64.14.00.Desktop.appx"

# 安装 UI.Xaml 依赖(Windows 10 系统需要)
Add-AppxPackage -Path "C:\Downloads\Microsoft.UI.Xaml.2.8.appx"

# 安装 winget 主程序
Add-AppxPackage -Path "C:\Downloads\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

安装完成后,重新打开终端并执行 winget --version 验证。

方法三:使用 PowerShell 自动化脚本(一键安装)

该方法通过脚本自动下载所有必需文件并完成安装,适合希望快速部署的用户。

管理员身份打开 PowerShell,复制并执行以下脚本:

# 设置执行策略(如果需要)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# 自动化安装脚本
$progressPreference = 'silentlyContinue'

# 创建临时目录
$tempDir = New-Item -ItemType Directory -Path "$env:TEMP\winget-install" -Force

# 下载 VCLibs 依赖
Write-Host "正在下载 VCLibs..." -ForegroundColor Yellow
Invoke-WebRequest -Uri "https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx" -OutFile "$tempDir\VCLibs.appx"

# 下载 UI.Xaml 依赖
Write-Host "正在下载 UI.Xaml..." -ForegroundColor Yellow
Invoke-WebRequest -Uri "https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.6/Microsoft.UI.Xaml.2.8.x64.appx" -OutFile "$tempDir\UIXaml.appx"

# 获取并下载最新版 winget
Write-Host "正在获取最新版 winget..." -ForegroundColor Yellow
$releases = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/winget-cli/releases/latest"
$msixUrl = ($releases.assets | Where-Object { $_.name -like "*.msixbundle" }).browser_download_url
Invoke-WebRequest -Uri $msixUrl -OutFile "$tempDir\winget.msixbundle"

# 安装依赖项
Write-Host "正在安装依赖项..." -ForegroundColor Yellow
Add-AppxPackage -Path "$tempDir\VCLibs.appx"
Add-AppxPackage -Path "$tempDir\UIXaml.appx"

# 安装 winget
Write-Host "正在安装 winget..." -ForegroundColor Yellow
Add-AppxPackage -Path "$tempDir\winget.msixbundle"

# 清理临时文件
Remove-Item -Path $tempDir -Recurse -Force

Write-Host "安装完成!请重新打开终端使用 winget。" -ForegroundColor Green

脚本执行完成后,关闭当前 PowerShell 窗口并打开新的终端窗口,即可使用 winget 命令。

方法四:LTSC 版本特殊处理

Windows 10 LTSC(长期服务渠道)版本默认不包含 Microsoft Store,需要先启用商店或完全手动安装。

方案 1:启用 Microsoft Store

以管理员身份运行 PowerShell,执行以下命令重新注册商店:

Get-AppxPackage -allusers Microsoft.WindowsStore | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

或使用第三方脚本安装 Microsoft Store:

irm https://massgrave.dev/get | iex
方案 2:完全手动安装(推荐)

直接按照“方法二”或“方法三”的步骤操作,无需依赖 Microsoft Store。

方法五:Chocolatey 用户快捷安装

如果系统已安装 Chocolatey 包管理器,可以通过以下命令快速安装 winget:

choco install winget-cli

常见问题排查

问题 1:提示“此应用无法在你的电脑上运行”

原因:系统版本过旧或架构不匹配。

解决方案

  • 执行 winver 命令检查 Windows 版本,确保至少为 1809(内部版本号 17763)
  • 下载与系统架构(x64 / x86 / ARM64)匹配的安装包
  • 通过 Windows 更新将系统升级到最新版本

问题 2:提示“无法安装,因为找不到依赖项”

原因:缺少 VCLibs 或 UI.Xaml 依赖库。

解决方案:严格按照“方法二”中的步骤 2 和步骤 3,先安装 VCLibs 和 UI.Xaml,再安装 winget 主程序。确保依赖项版本与系统架构一致。

问题 3:PowerShell 提示“Add-AppxPackage 不是可识别的 cmdlet”

原因:PowerShell 版本过旧或未以管理员权限运行。

解决方案

  • 右键点击 PowerShell,选择“以管理员身份运行”
  • 更新 PowerShell 到最新版本:winget install Microsoft.PowerShell(如 winget 已安装)或从 GitHub 下载最新版本

问题 4:Microsoft Store 无法访问

原因:企业环境网络限制或区域性访问问题。

解决方案

  • 使用“方法二”或“方法三”进行手动安装,完全不依赖 Microsoft Store
  • 联系 IT 管理员开放 Microsoft Store 访问权限
  • 配置网络代理或使用 VPN 服务

问题 5:安装后找不到 winget 命令

原因:环境变量未自动更新。

解决方案

  • 重新打开终端窗口(关闭旧窗口后再打开新窗口)
  • 手动添加到系统 PATH:$env:Path += ";C:\Users\$env:USERNAME\AppData\Local\Microsoft\WindowsApps"
  • 重启计算机以刷新环境变量

问题 6:提示“winget 需要开发者模式”

原因:某些早期版本的 winget 需要启用开发者模式。

解决方案

  1. 打开“设置” > “更新和安全” > “开发者选项”
  2. 启用“开发人员模式”
  3. 重新运行 winget 安装命令

问题 7:LTSC 版本无法安装

原因:LTSC 版本默认不包含 Microsoft Store。

解决方案:参考“方法四”中的方案 1 启用 Microsoft Store,或使用方案 2 完全手动安装。

问题 8:安装包损坏或签名验证失败

原因:下载过程中文件损坏或来源不可信。

解决方案

  • 官方 GitHub 仓库重新下载安装包
  • 使用 Get-FileHash -Path "文件路径" -Algorithm SHA256 命令验证文件完整性
  • 确保下载过程未使用不可靠的第三方镜像站

验证安装与基础使用

安装完成后,建议执行以下命令验证 winget 是否正常工作:

# 检查 winget 版本
winget --version

# 查看帮助信息
winget --help

# 测试搜索功能
winget search firefox

# 查看软件源配置
winget source list

预期输出应包含 msstore(Microsoft Store 源)和 winget(官方社区源)两个软件源。

常用命令示例

# 搜索软件
winget search <软件名称>

# 安装软件
winget install <软件名称>

# 列出已安装软件
winget list

# 更新指定软件
winget upgrade <软件名称>

# 更新所有软件
winget upgrade --all

# 卸载软件
winget uninstall <软件名称>

# 查看软件详细信息
winget show <软件名称>

更新与配置建议

自动更新

winget 会通过 Microsoft Store 自动更新。如需手动检查更新,可执行:

winget upgrade --id Microsoft.AppInstaller

或访问 Microsoft Store 的“下载和更新”页面手动获取更新。

启用实验性功能

winget 提供了一些实验性功能,可通过编辑配置文件启用。执行以下命令打开配置文件:

notepad %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json

示例配置:

{
"$schema": "https://aka.ms/winget-settings.schema.json",
"experimentalFeatures": {
"experimentalCmd": true,
"experimentalArg": true
},
"installBehavior": {
"preferences": {
"scope": "user"
}
}
}

获取方式

从 GitHub Release 页面:获取 winget

官方文档:Windows 包管理器文档

App Installer 下载:Microsoft Store 链接

winget 通过现代化的命令行界面,为 Windows 用户带来了高效、安全、可自动化的软件管理体验,无论是个人用户还是企业 IT 管理员,都能从中获得显著的生产力提升。

0 评论
最旧
最新 最多投票
0
希望看到您的想法,请您发表评论x