WinGet 的设置命令使您能够自定义 Windows 包管理器客户端体验。 可以更改默认值并试用客户端中可用的实验功能。
设置命令将启动默认 JSON 编辑器。 默认情况下,Windows 将启动记事本作为选项。 建议使用诸如 Visual Studio Code之类的工具。
注释
您可以轻松通过输入 winget install Microsoft.VisualStudioCode 来安装 Visual Studio Code。
别名
以下是此命令的可用别名:
- config
子命令
以下子命令可用。
| 子命令 | DESCRIPTION |
|---|---|
| 导出 | 导出设置。 |
| 集 | 设置管理员配置的值。 |
| reset | 将管理员设置重置为其默认值。 |
选项
可以使用以下选项:
| 论点 | DESCRIPTION |
|---|---|
| --启用 | 启用指定的管理员设置。 |
| --禁用 | 禁用指定的管理员设置。 |
| -?、--help | 显示有关所选命令的帮助。 |
| --等 | 提示用户在退出之前按任意键。 |
| --logs,--open-logs | 打开默认日志位置。 |
| --verbose,--verbose-logs | 启用 winget 的详细日志记录。 |
| --nowarn,--ignore-warnings | 禁止警告输出。 |
| --disable-interactivity | 禁用交互式提示。 |
| --proxy | 设置要用于此执行的代理。 |
| --no-proxy | 禁用此执行使用代理。 |
使用 winget settings 命令
启动默认 JSON 编辑工具: winget settings
首次启动设置时,不会指定任何设置。 在 JSON 文件的顶部,我们提供了 一个 WinGet CLI 设置 链接,你可以在其中发现最新的实验功能和设置。
下面的代码片段显示了设置文件在启用视觉输出修改和实验功能时可能的外观示例。
{
"$schema": "https://aka.ms/winget-settings.schema.json",
"visual": {
"enableSixels": true,
"progressBar": "rainbow"
},
"experimentalFeatures": {
"experimentalARG": true,
"experimentalCMD": true
}
}
我们还为设置文件定义了架构。 这样,如果 JSON 编辑器支持 JSON 架构,则可以使用 TAB 来发现设置和语法。
更新设置
以下设置适用于 Windows 程序包管理器的 1.11 版本。
源设置
这些 source 设置涉及对 WinGet 源的配置。
"source": {
"autoUpdateIntervalInMinutes": 60
},
自动更新间隔时间(分钟)
正整数表示更新间隔(以分钟为单位)。 仅当使用源时,才会检查更新。 将值设为零会禁用对源更新的检查。 任何其他值都无效。
- 禁用:0
- 默认值:15
要手动更新源,请使用 winget source update。
视觉设置
visual 设置涉及由 WinGet 显示的可视元素
"visual": {
"enableSixels": true,
"progressBar": "rainbow"
},
progressBar
WinGet 在未由参数指定时显示的进度栏的颜色。
- 主题色(默认)
- 彩虹
- 怀旧
- sixel
- 禁用的
匿名显示路径
将一些已知文件夹路径替换为各自的环境变量。
enableSizels
在特定上下文中启用 Sixel 图像的输出。
日志记录设置
logging 设置控制日志文件中的详细信息级别。 --verbose-logs 将替代此设置,并始终创建详细日志。
"logging": {
"level": "verbose"
}
水平仪
以下日志记录级别可用。 如果值未设置或无效,则默认使用info。
- 详细的
- 信息
- 警告
- 错误
- 严重
首选项和要求设置
其中一些设置在preferences和requirements下面重复。
- 该
preferences设置控制如何在选择操作选项时对各种可用选项进行排序。 例如,包安装的默认范围适用于当前用户,但如果不是选项,则将选择计算机级安装程序。 - 该
requirements设置会筛选选项,这可能会导致空列表和安装失败。 在前面的示例中,用户范围要求将导致没有适用的安装程序和错误。
在命令行上传递的任何参数都将在该命令的持续时间内有效地重写匹配的 requirement 设置。
作用域
scope 行为会控制为当前用户安装包还是为整个计算机安装包的选择。 匹配参数是 --scope,并且使用相同的值(user 或 machine)。 请参阅 与包安装范围相关的已知问题。
"installBehavior": {
"preferences": {
"scope": "user"
}
},
区域设置
该 locale 行为根据安装程序的语言设置控制安装程序的选择。 匹配参数为--locale,并使用的是 bcp47 语言标签。
"installBehavior": {
"preferences": {
"locale": [ "en-US", "fr-FR" ]
}
},
architectures
该 architectures 行为控制安装包时将选择哪些体系结构。 匹配参数为 --architecture。 只能选择与系统兼容的体系结构。
"installBehavior": {
"preferences": {
"architectures": ["x64", "arm64"]
}
},
安装程序类型
该 installerTypes 行为控制着在安装程序包时将选择的安装程序类型。 匹配参数为 --installer-type。
"installBehavior": {
"preferences": {
"installerTypes": ["msix", "msi"]
}
},
installBehavior 设置
这些 installBehavior 设置控制安装和升级(如果适用)包的默认行为。
disableInstallNotes
此设置 disableInstallNotes 确定安装成功后是否显示安装说明。 如果值未设置或无效,则默认为false。
"installBehavior": {
"disableInstallNotes": true
},
portablePackageUserRoot 设置
在portablePackageUserRoot设置中,定义了在User作用域下安装包的默认根目录。 这仅适用于具有 portable 安装程序类型的包。 如果值未设置或无效,则默认为%LOCALAPPDATA%/Microsoft/WinGet/Packages/。
此设置值必须是绝对路径。
"installBehavior": {
"portablePackageUserRoot": "C:/Users/FooBar/Packages"
},
portablePackageMachineRoot 设置
portablePackageMachineRoot 设置定义了在 Machine 作用域下安装包的默认根目录。 这仅适用于具有 portable 安装程序类型的包。 如果值未设置或无效,则默认使用%PROGRAMFILES%/WinGet/Packages/。
此设置值必须是绝对路径。
"installBehavior": {
"portablePackageMachineRoot": "C:/Program Files/Packages/Portable"
},
默认安装根路径
如果未指定安装位置,则此设置 defaultInstallRoot 指定需要显式安装路径的包的默认安装位置。
maxResumes
该 maxResumes 设置指定单个续订 ID 可允许的最大尝试次数。 如果未正确检测到需要重新启动的安装,这将阻止连续重新启动。
归档提取方法
该 archiveExtractionMethod 设置控制安装程序如何提取存档。 支持的值是 shellApi 和 tar。
shellApi使用 Windows Shell API 提取存档。tar使用 tar 命令提取存档。
UninstallBehavior
该 uninstallBehavior 设置控制默认卸载过程是否删除与此包相关的所有文件和目录。 仅适用于可移植 installerType。
purgePortablePackage
该 purgePortablePackage 设置控制卸载可移植包的默认行为。 如果设置为 true,卸载将删除与 portable 包相关的所有文件和目录。 此设置仅适用于具有 portable 安装程序类型的包。 如果值未设置或无效,则默认为false。
"uninstallBehavior": {
"purgePortablePackage": true
},
ConfigureBehavior
该 ConfigureBehavior 设置指定在应用配置时 PowerShell 模块安装到的默认根目录。
下载行为
downloadBehavior 设置控制将安装程序下载到的默认文件目录。
默认下载目录
defaultDownloadDirectory 设置会控制将包下载到的默认目录。 如果值未设置或无效,则默认为%USERPROFILE%/Downloads。
此设置值必须是绝对路径。
"downloadBehavior": {
"defaultDownloadDirectory": "C:/Users/FooBar/Downloads"
},
遥测设置
设置 telemetry 控制 WinGet 是否在 Windows 默认安装时写入可能发送到 Microsoft 的 ETW 事件。
停用
"telemetry": {
"disable": true
},
如果设置为 true,则 telemetry.disable 设置将阻止程序写入任何事件。
网络设置
这些 network 设置会影响 WinGet 使用网络检索包和元数据的方式。
下载器
downloader 设置控制下载包时使用的代码。 默认值是do,可能由组策略管理。
wininet使用 WinINet API,同时使用do传递优化服务。
"network": {
"downloader": "wininet"
}
doProgressTimeoutInSeconds
doProgressTimeoutInSeconds 指定在回退之前等待没有进展的秒数。
交互性
该 Interactivity 设置控制 Windows 程序包管理器客户端是否显示交互式提示。
启用试验性功能
若要发现哪些实验功能可用,请转到 https://aka.ms/winget-settings 你可以看到可用的实验功能的位置。