使用 WinGet 在 Windows IoT 企业版上安装应用

用户可以在 Windows 10 和 Windows 11 设备上使用 WinGet 命令行工具来发现、安装、升级、删除和配置应用程序。 此工具是 Windows 程序包管理器服务的客户端接口。

本教程介绍如何在 Windows IoT 企业版上安装和使用 WinGet。 本指南对于 Windows IoT 企业版 LTSC 版本非常有用,因为这些版本不支持 Microsoft Store 应用程序本身,而 Microsoft Store 应用程序通常用于安装 WinGet。 该文档全在 Windows 10 IoT 企业版 LTSC 2021 上进行测试。

下载 WinGet

  1. WinGet CLI 存储库版本下载 WinGet 捆绑包文件。

    1. 选择不是“预发行版”的最新版本(应该有“最新”标签。)

    2. 就我而言,这个版本是版本 1.4.10173
      Release screenshot

  2. 下载 msixbundle 文件和 License1.xml 文件。

  3. 下载与处理器体系结构关联的 VCLibs Desktop 框架包。

    有关详细信息,请参阅如何安装和更新 Desktop 框架包

  4. WinGet CLI 依赖于 Microsoft.UI.Xaml.2.7

    1. Microsoft UI NuGet 组织下载 Microsoft.UI.Xaml.2.7 NuGet 包。下载链接位于右侧,在“下载包”处。

      注意

      依赖项 (https://www.nuget.org/packages/Microsoft.UI.Xaml/2.7.0>) 特定于版本 2.7.0。 请勿使用更新的版本,除非未来版本支持它。 自 2023 年 5 月 18 日起,2.8 的安装会失败。

    2. 将文件扩展名从 .nupkg 更改为 .zip。 若要更改文件扩展名,请打开命令提示符,导航到已下载 nupkg 文件的目录,然后运行以下命令来重命名该文件:

    ren Microsoft.UI.Xaml.2.7.0.nupkg Microsoft.UI.Xaml.2.7.0.zip
    
    1. 使用 File Explorer 打开在上一步重命名的 .zip 文件夹,并将文件 tools\AppX\<your architecture>\release\Microsoft.UI.XAML.2.7.appx 复制到“下载”文件夹。 该文件会在将来的步骤中安装到设备上。
      1. 若要详细了解如何使用 .zip files,请参阅压缩和解压缩文件

安装 WinGet 客户端

  1. 以管理员身份启动 PowerShell

  2. 使用 PowerShell 命令 Add-AppxPackage 安装 Desktop 框架包。

    Add-AppxPackage -Path <path to VCLibs .appx file>
    

    其中

    • <path to VCLibs .appx file> 是之前下载的 VC++ v14 Desktop 框架包的完全限定路径。
  3. 使用 PowerShell 命令 Add-AppxPackage 安装 Microsoft UI Xaml。

    Add-AppxPackage -Path <path to UI xaml.appx file>
    

    其中

    • <path to UI xaml.appx file> 是之前下载的 Microsoft UI Xaml 2.7.0 包的完全限定路径。

    注意

    如果没有安装 VCLibs 和 UI Xaml 依赖项,WinGet 安装程序会失败(没有任何错误/警告消息)。 具体来说,“winget.exe”文件未添加到“C:\Users\[用户名]\AppData\Local\Microsoft\WindowsApps”

  4. 使用 PowerShell 命令 Add-AppxPackage 安装 WinGet 客户端。

    Add-AppxPackage -Path <path to .msixbundle file>
    

    Where

    • <path to .msixbundle file> 是之前下载的 WinGet 捆绑包文件的完全限定路径。
  5. 使用 PowerShell 命令 Add-AppxProvisionedPackage 为 WinGet 客户端配置正确的许可证文件

    Add-AppxProvisionedPackage -Online -PackagePath <path to .msixbundle file> -LicensePath <path to xml file>
    

    其中

    • <path to .msixbundle file> 是 WinGet 捆绑包文件的完全限定路径
    • <path to xml file> 是之前下载的 License1.xml 文件的完全限定路径。

    All the commands ran

现在,你应该会看到 winget.exe 文件出现在 C:\Users\[Username]\AppData\Local\Microsoft\WindowsApps 处。 此外,它还应该会自动添加到你的路径中。 你还应该能够在 PowerShell 终端中使用 WinGet
WinGet in powershell

提示

如果在 PowerShell 中无法识别 winget 命令,请先尝试重启 PowerShell,如果仍不成功,请尝试重启计算机。

使用 WinGet 安装应用程序

  1. 首先,在 WinGet 存储库中搜索要安装的应用程序。 例如,若要搜索“Windows 相机”应用程序,请使用 search 命令:

    winget search "Windows Camera"
    
  2. 接下来,使用 show 命令了解有关应用程序的更多信息:

    winget show "Windows Camera"
    
  3. 接下来,使用 install 命令安装应用程序:

    winget install "Windows Camera"
    
  4. 有关如何使用 WinGet 搜索、安装、配置和卸载应用程序的更多详细信息,请参阅使用 WinGet

注意

这些说明改编自针对 Windows IoT 企业版 LTSC(没有 Windows Store 用户体验)的 Windows 桌面版本的原始 WinGet 文档。 这些说明还包含来自 Zamiell 的 WinGet CLI 存储库讨论MuradBuyukasik 的 WinGet 脚本存储库的指导。

更多资源