通过


settings 命令 (winget)

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.28 版本。

源设置

这些 source 设置涉及对 WinGet 源的配置。

"source": {
    "autoUpdateIntervalInMinutes": 60
},

自动更新间隔时间(分钟)

正整数表示更新间隔(以分钟为单位)。 仅当使用源时,才会检查更新。 将值设为零会禁用对源更新的检查。 任何其他值都无效。

  • 禁用:0
  • 默认值:15

要手动更新源,请使用 winget source update

视觉设置

visual 设置涉及由 WinGet 显示的可视元素

"visual": {
    "enableSixels": true,
    "progressBar": "rainbow"
},

progressBar

WinGet 在未由参数指定时显示的进度栏的颜色。

  • 主题色(默认)
  • 彩虹
  • 怀旧
  • sixel
  • 禁用的

匿名显示路径

将一些已知文件夹路径替换为各自的环境变量。

enableSixels

在特定上下文中启用 Sixel 图像的输出。

日志记录设置

logging 设置控制日志文件中的详细信息级别。 --verbose-logs 将替代此设置,并始终创建详细日志。

"logging": {
    "level": "verbose"
}

水平仪

以下日志记录级别可用。 如果值未设置或无效,则默认使用info

  • 详细的
  • 信息
  • 警告
  • 错误
  • 严重

channels

此设置 channels 将日志记录输出限制为特定的日志通道。 也接受特殊值 default (默认的通道集)和 all (所有通道)。 无效值会被忽略。

"logging": {
    "channels": ["default"]
}

文件

设置 file 控制默认日志目录中日志文件的自动清理。 清理在每个 WinGet 进程开始时运行,仅适用于默认日志位置。

设置 DESCRIPTION 默认
ageLimitInDays 日志目录中文件的最大期限(以天为单位);删除较旧的文件。 设置为 0,禁用。 7
totalSizeLimitInMB 日志目录中所有文件的最大总大小(以兆字节为单位);首先删除最早的文件。 设置为 0 以禁用。 128
countLimit 日志目录中的最大文件数;首先删除最早的文件。 将其设置为 0 即可禁用。 0 (已禁用)
individualSizeLimitInMB 单个日志文件的最大大小(以兆字节为单位)。 如果文件将超过此限制,则日志将换行。 设置为 0 来禁用。 16
"logging": {
    "level": "verbose",
    "file": {
        "ageLimitInDays": 7,
        "totalSizeLimitInMB": 128,
        "countLimit": 0,
        "individualSizeLimitInMB": 16
    }
}

首选项和要求设置

其中一些设置在preferencesrequirements下面重复。

  • preferences 设置控制如何在选择操作选项时对各种可用选项进行排序。 例如,包安装的默认范围适用于当前用户,但如果不是选项,则将选择计算机级安装程序。
  • requirements 设置会筛选选项,这可能会导致空列表和安装失败。 在前面的示例中,用户范围要求将导致没有适用的安装程序和错误。

在命令行上传递的任何参数都将在该命令的持续时间内有效地重写匹配的 requirement 设置。

作用域

scope 行为会控制为当前用户安装包还是为整个计算机安装包的选择。 匹配参数是 --scope,并且使用相同的值(usermachine)。 请参阅 与包安装范围相关的已知问题

"installBehavior": {
    "preferences": {
        "scope": "user"
    }
},

区域设置

locale 行为根据安装程序的语言设置控制安装程序的选择。 匹配参数为--locale,并使用的是 bcp47 语言标签。

"installBehavior": {
    "preferences": {
        "locale": [ "en-US", "fr-FR" ]
    }
},

architectures

architectures 行为控制安装包时将选择哪些体系结构。 匹配参数为 --architecture。 只能选择与系统兼容的体系结构。

    "installBehavior": {
        "preferences": {
            "architectures": ["x64", "arm64"]
        }
    },

安装程序类型

installerTypes 行为会影响安装包时将选择哪些安装程序类型。 如果清单具有多个类型,则它还可以确定默认要安装的类型:列表按优先级顺序排列,第一个列出的类型优先于其他类型,依此类推。 对于喜欢可移植包或 MSIX/AppX 安装的用户来说,这很方便。 匹配参数是 --installer-type,这将替代设置。

从版本 1.12.470 开始允许的值包括:appxburnexefontinnomsimsixmsstorenullsoftportablewixzip

默认情况下,如果尚未安装包,WinGet 将默认为清单中安装程序 YAML 首先列出的安装程序类型。 如果已安装,则需要相同的安装程序类型来确保正确升级。

    "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 设置控制安装程序如何提取存档。 支持的值是 shellApitar

  • 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 你可以看到可用的实验功能的位置。

这些 experimentalFeatures 设置涉及配置这些“实验性”功能。 可以在此节点下启用单个功能:

"experimentalFeatures": {
    "directMSI": true,
    "resume": true
}

directMSI

此功能使 Windows 包管理器能够使用 MSI API 而不是通过 msiexec 直接安装 MSI 包。 请注意,当使用无提示安装时,这已生效,因为需要权限提升的 MSI 包在这种情况下会失败。

"experimentalFeatures": {
    "directMSI": true
}

继续

此功能支持某些命令在重新启动后恢复。

"experimentalFeatures": {
    "resume": true
}

字体

此功能支持通过 winget settings 使用字体。 该 winget font list 命令将列出已安装的字体系列和已安装的字体人脸数。

"experimentalFeatures": {
    "fonts": true
}

来源优先级

此功能使源能够分配优先级值。 具有较高优先级的源将更早出现在搜索结果中,并且在多个源存在匹配的包时,这些源将被选择用于安装新包。

请注意,搜索结果排序取决于几个因素,源优先级是当前最低的字段(匹配质量和字段更重要)。

"experimentalFeatures": {
    "sourcePriority": true
}