错误现象:
程序“winget.exe”无法运行: 找不到适用的应用许可证。所在位置 行:1 字符: 1
+ .\winget.exe
+ ~~~~~~~~~~~~。
所在位置 行:1 字符: 1
+ .\winget.exe
+ ~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException
+ FullyQualifiedErrorId : NativeCommandFailed
英文版:
Program 'winget.exe' failed to run: No applicable app licenses foundAt line:1 char:1
+ winget
+ ~~~~~~.
At line:1 char:1
+ winget
+ ~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedExceptio
n
+ FullyQualifiedErrorId : NativeCommandFailed
原因:
windows server默认不带Microsoft Store, 通过离线msixbundle安装的版本没有自带证书
解决方法:
重新安装一个带证书的版本
1. github 下载最新版的msixbundle文件以及独立的证书文件(xxx_License.xml):Releases · microsoft/winget-cli (github.com)
2. 重新使用powershell Add-AppxProvisionedPackage命令安装该包:
Add-AppxProvisionedPackage -Online -PackagePath path\to\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -LicensePath .path\to\License1.xml
3. 打开一个新的CMD/Powershell窗口,测试winget:
PS C:\Users\Administrator> winget
Windows 程序包管理器 v1.8.1911
版权所有 (C) Microsoft Corporation。保留所有权利。
WinGet 命令行实用工具可从命令行安装应用程序和其他程序包。
使用情况: winget [<命令>] [<选项>]
下列命令有效:
install 安装给定的程序包
show 显示包的相关信息
source 管理程序包的来源
search 查找并显示程序包的基本信息
list 显示已安装的程序包
upgrade 显示并执行可用升级
uninstall 卸载给定的程序包
hash 哈希安装程序的帮助程序
validate 验证清单文件
settings 打开设置或设置管理员设置
features 显示实验性功能的状态
export 导出已安装程序包的列表
import 安装文件中的所有程序包
pin 管理包钉
configure 将系统配置为所需状态
download 从给定的程序包下载安装程序
repair 修复所选包
如需特定命令的更多详细信息,请向其传递帮助参数。 [-?]
下列选项可用:
-v,--version 显示工具的版本
--info 显示工具的常规信息
-?,--help 显示选定命令的帮助信息
--wait 提示用户在退出前按任意键
--logs,--open-logs 打开默认日志位置
--verbose,--verbose-logs 启用 WinGet 的详细日志记录
--nowarn,--ignore-warnings 禁止显示警告输出
--disable-interactivity 禁用交互式提示
--proxy 设置要用于此执行的代理
--no-proxy 禁止对此执行使用代理
可在此找到更多帮助: "https://aka.ms/winget-command-help"
成功。