settings.schema.0.2.json (11115B)
1 { 2 "$id": "https://aka.ms/winget-settings.schema.json", 3 "$schema": "https://json-schema.org/draft/2019-09/schema#", 4 "title": "Microsoft's Windows Package Manager Settings Profile Schema", 5 "definitions": { 6 "Source": { 7 "description": "Source repository settings", 8 "type": "object", 9 "properties": { 10 "autoUpdateIntervalInMinutes": { 11 "description": "Number of minutes before source update", 12 "type": "integer", 13 "default": 5, 14 "minimum": 0, 15 "maximum": 43200 16 } 17 } 18 }, 19 "Visual": { 20 "description": "Visual settings", 21 "type": "object", 22 "properties": { 23 "progressBar": { 24 "description": "Progress bar display style", 25 "type": "string", 26 "enum": [ 27 "accent", 28 "rainbow", 29 "retro", 30 "sixel", 31 "disabled" 32 ] 33 }, 34 "anonymizeDisplayedPaths": { 35 "description": "Replaces some known folder paths with their respective environment variable", 36 "type": "boolean", 37 "default": true 38 }, 39 "enableSixels": { 40 "description": "Enables output of sixel images in certain contexts", 41 "type": "boolean", 42 "default": false 43 } 44 } 45 }, 46 "Logging": { 47 "description": "Logging settings", 48 "type": "object", 49 "properties": { 50 "level": { 51 "description": "Preferred logging level", 52 "type": "string", 53 "enum": [ 54 "verbose", 55 "info", 56 "warning", 57 "error", 58 "critical" 59 ] 60 }, 61 "channels": { 62 "description": "The logging channels to enable", 63 "type": "array", 64 "items": { 65 "uniqueItems": true, 66 "type": "string", 67 "enum": [ 68 "fail", 69 "cli", 70 "sql", 71 "repo", 72 "yaml", 73 "core", 74 "test", 75 "config", 76 "default", 77 "all" 78 ], 79 "maxLength": 20 80 }, 81 "minItems": 0, 82 "maxItems": 20 83 } 84 } 85 }, 86 "InstallPrefReq": { 87 "description": "Shared schema for preferences and requirements", 88 "type": "object", 89 "properties": { 90 "scope": { 91 "description": "The scope of a package install", 92 "type": "string", 93 "enum": [ 94 "user", 95 "machine" 96 ], 97 "default": "user" 98 }, 99 "locale": { 100 "description": "The locales of a package install", 101 "type": "array", 102 "items": { 103 "type": "string", 104 "pattern": "^([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$", 105 "maxLength": 20 106 }, 107 "minItems": 1, 108 "maxItems": 10 109 }, 110 "architectures": { 111 "description": "The architecture(s) to use for a package install", 112 "type": "array", 113 "items": { 114 "uniqueItems": true, 115 "type": "string", 116 "enum": [ 117 "neutral", 118 "x64", 119 "x86", 120 "arm64", 121 "arm" 122 ], 123 "minItems": 1, 124 "maxItems": 4 125 } 126 }, 127 "installerTypes": { 128 "description": "The installerType(s) to use for a package install", 129 "type": "array", 130 "items": { 131 "uniqueItems": true, 132 "type": "string", 133 "enum": [ 134 "inno", 135 "wix", 136 "msi", 137 "nullsoft", 138 "zip", 139 "msix", 140 "exe", 141 "burn", 142 "msstore", 143 "portable" 144 ], 145 "minItems": 1, 146 "maxItems": 9 147 } 148 } 149 } 150 }, 151 "InstallBehavior": { 152 "description": "Install settings", 153 "type": "object", 154 "properties": { 155 "preferences": { "$ref": "#/definitions/InstallPrefReq" }, 156 "requirements": { "$ref": "#/definitions/InstallPrefReq" }, 157 "skipDependencies": { 158 "description": "Controls whether package dependencies and Windows Features are skipped during installation", 159 "type": "boolean", 160 "default": false 161 }, 162 "disableInstallNotes": { 163 "description": "Controls whether installation notes are shown after a successful install", 164 "type": "boolean", 165 "default": false 166 }, 167 "portablePackageUserRoot": { 168 "description": "The default root directory where packages are installed to under User scope. Applies to the portable installer type.", 169 "type": "string", 170 "default": "%LOCALAPPDATA%/Microsoft/WinGet/Packages/" 171 }, 172 "portablePackageMachineRoot": { 173 "description": "The default root directory where packages are installed to under Machine scope. Applies to the portable installer type.", 174 "type": "string", 175 "default": "%PROGRAMFILES%/WinGet/Packages/" 176 }, 177 "defaultInstallRoot": { 178 "description": "Default install location to use for packages that require it when not specified", 179 "type": "string", 180 "maxLength": 32767 181 }, 182 "maxResumes": { 183 "description": "The maximum number of resumes allowed for a single resume id. This is to prevent continuous reboots if an install that requires a reboot is not properly detected.", 184 "type": "integer", 185 "default": 3, 186 "minimum": 1 187 }, 188 "archiveExtractionMethod": { 189 "description": "Controls the behavior how the installer extracts archives. The current two supported values are 'shellApi' and 'tar'. 'shellApi' uses the Windows Shell API to extract archives. 'tar' uses the tar command to extract archives.", 190 "type": "string", 191 "enum": [ 192 "shellApi", 193 "tar" 194 ], 195 "default": "shellApi" 196 } 197 } 198 }, 199 "UninstallBehavior": { 200 "description": "Uninstall settings", 201 "type": "object", 202 "properties": { 203 "purgePortablePackage": { 204 "description": "Controls whether the default behavior for uninstall removes all files and directories relevant to this package. Only applies to the portable installerType.", 205 "type": "boolean", 206 "default": false 207 } 208 } 209 }, 210 "ConfigureBehavior": { 211 "description": "Configure settings", 212 "type": "object", 213 "properties": { 214 "defaultModuleRoot": { 215 "description": "The default root directory where PowerShell modules are installed to when applying a configuration.", 216 "type": "string", 217 "maxLength": 32767, 218 "default": "%LOCALAPPDATA%/Microsoft/WinGet/Configuration/Modules/" 219 } 220 } 221 }, 222 "DownloadBehavior": { 223 "description": "Download settings", 224 "type": "object", 225 "properties": { 226 "defaultDownloadDirectory": { 227 "description": "The default directory where installers are downloaded to.", 228 "type": "string", 229 "default": "%USERPROFILE%/Downloads/" 230 } 231 } 232 }, 233 "Telemetry": { 234 "description": "Telemetry settings", 235 "type": "object", 236 "properties": { 237 "disable": { 238 "description": "Controls whether telemetry events are written", 239 "type": "boolean", 240 "default": false 241 } 242 } 243 }, 244 "Network": { 245 "description": "Network settings", 246 "type": "object", 247 "properties": { 248 "downloader": { 249 "description": "Control which download code is used for packages", 250 "type": "string", 251 "enum": [ 252 "default", 253 "wininet", 254 "do" 255 ], 256 "default": "default" 257 }, 258 "doProgressTimeoutInSeconds": { 259 "description": "Number of seconds to wait without progress before fallback", 260 "type": "integer", 261 "default": 60, 262 "minimum": 1, 263 "maximum": 600 264 } 265 } 266 }, 267 "Interactivity": { 268 "description": "Interactivity settings", 269 "type": "object", 270 "properties": { 271 "disable": { 272 "description": "Controls whether interactive prompts are shown by the Windows Package Manager client", 273 "type": "boolean", 274 "default": false 275 } 276 } 277 }, 278 "Experimental": { 279 "description": "Experimental Features", 280 "type": "object", 281 "properties": { 282 "experimentalCMD": { 283 "description": "Reference implementation for an experimental command", 284 "type": "boolean", 285 "default": false 286 }, 287 "experimentalARG": { 288 "description": "Reference implementation for an experimental argument", 289 "type": "boolean", 290 "default": false 291 }, 292 "directMSI": { 293 "description": "Enable use of MSI APIs rather than msiexec for MSI installs", 294 "type": "boolean", 295 "default": false 296 }, 297 "fonts": { 298 "description": "Enable support for managing fonts", 299 "type": "boolean", 300 "default": false 301 } 302 } 303 } 304 }, 305 "allOf": [ 306 { 307 "properties": { 308 "source": { "$ref": "#/definitions/Source" } 309 }, 310 "additionalItems": true 311 }, 312 { 313 "properties": { 314 "visual": { "$ref": "#/definitions/Visual" } 315 }, 316 "additionalItems": true 317 }, 318 { 319 "properties": { 320 "logging": { "$ref": "#/definitions/Logging" } 321 }, 322 "additionalItems": true 323 }, 324 { 325 "properties": { 326 "installPrefReq": { "$ref": "#/definitions/InstallPrefReq" } 327 }, 328 "additionalItems": true 329 }, 330 { 331 "properties": { 332 "installBehavior": { "$ref": "#/definitions/InstallBehavior" } 333 }, 334 "additionalItems": true 335 }, 336 { 337 "properties": { 338 "uninstallBehavior": { "$ref": "#/definitions/UninstallBehavior" } 339 }, 340 "additionalItems": true 341 }, 342 { 343 "properties": { 344 "configureBehavior": { "$ref": "#/definitions/ConfigureBehavior" } 345 }, 346 "additionalItems": true 347 }, 348 { 349 "properties": { 350 "downloadBehavior": { "$ref": "#/definitions/DownloadBehavior" } 351 }, 352 "additionalItems": true 353 }, 354 { 355 "properties": { 356 "telemetry": { "$ref": "#/definitions/Telemetry" } 357 }, 358 "additionalItems": true 359 }, 360 { 361 "properties": { 362 "network": { "$ref": "#/definitions/Network" } 363 }, 364 "additionalItems": true 365 }, 366 { 367 "properties": { 368 "interactivity": { "$ref": "#/definitions/Interactivity" } 369 }, 370 "additionalItems": true 371 }, 372 { 373 "properties": { 374 "experimentalFeatures": { "$ref": "#/definitions/Experimental" } 375 }, 376 "additionalItems": true 377 } 378 ], 379 "additionalProperties": true 380 }