Winget chegou para aperfeiçoar o Windows

Boa tarde pessoal!
Venho compartilhar com vocês uma descoberta que fiz recentemente com o advento do novo gerenciador de pacotes do Windows, o winget. Esse novo gerenciador funciona da mesma forma que os gerenciadores de pacotes no Linux e pela primeira vez, pelo menos para os leigos, é dado controle total ao que é instalado no Windows.
Pra entender como esse gerenciador é útil, através dele é possível enxugar o Windows ao máximo, a ponto de remover partes que foram consideradas pela Microsoft desde sempre como importantíssimas para o sistema, como a assistente Cortana.
Segue o tutorial de como instalar esse novo gerenciador: Como usar o Winget no Windows 10 para instalar novos aplicativos | Mundo Conectado
Depois de instalado, basta digitar winget no PowerShell ou CMD para receber uma lista de comandos, winget list para listar os pacotes instalados e winget uninstall nomedopacote para remover QUALQUER pacote instalado.
Divirtam-se :nerd_face:

Fiquei bem feliz com essa “inovação” no windows hahaha. Eu fico pensando como demoraram tanto tempo para implementar essa função que fazem muitos anos que existe no Linux.

Vai ser muito util pra quem precisa trabalhar com varias maquinas e sair instalando tudo de uma vez com scripts…
Acredito que o usuario final não vai ligar muito

Apesar do Linux já ter essa feature faz MUIITO tempo, a Microsoft finalmente adicionou um gerenciador de pacotes no Windows 11.

Para coloca-lo em funcionamento, você precisa instalar um programa chamado “App Installer” na MS Store, depois disso basta você abrir o terminal do Windows e digitar o comando “Winget” e ele vai te apresentar varios comandos.

Para instalar algum aplicativo digite o comando: winget install (e o nome do programa sem os parênteses), em alguns casos você vai precisar digitar o ID do programa, então para instalar você precisa escrever winget install --id (id do programa sem os parênteses)

Então… oque você achou desse gerenciador de pacotes do Windows?

Devia vir por padrão…

Sem instalar absolutamente nada, chamei por ‘‘Winget’’ no Windows Terminal e ele retornou ao meu chamado, pelo jeito, no Winodws 11 vem por padrão.

Interessante…
Não vi nada do winget ainda, o que seria a opção “settings”?

Um momento, vou testar para ver o que é.

Ok, obrigado :slightly_smiling_face:

Basicamente, essa opção te leva pra um arquivo .json com o seguinte conteúdo:

{
    "$schema": "https://aka.ms/winget-settings.schema.json",

    // For documentation on these settings, see: https://aka.ms/winget-settings
    // "source": {
    //    "autoUpdateIntervalInMinutes": 5
    // },
}

parece um arquivo de configurações do winget.

Vlw por mostrar a saida, tava curioso!

Mas eu entrei na url (https://aka.ms/winget-settings.schema.json), ele me tacou pra isso:

{
  "$id": "https://aka.ms/winget-settings.schema.json",
  "$schema": "https://json-schema.org/draft/2019-09/schema#",
  "title": "Microsoft's Windows Package Manager Settings Profile Schema",
  "definitions": {
    "Source": {
      "description": "Source repository settings",
      "type": "object",
      "properties": {
        "autoUpdateIntervalInMinutes": {
          "description": "Number of minutes before source update",
          "type": "integer",
          "default": 5,
          "minimum": 0,
          "maximum": 43200
        }
      }
    },
    "Visual": {
      "description": "Visual settings",
      "type": "object",
      "properties": {
        "progressBar": {
          "description": "Progress bar display style",
          "type": "string",
          "enum": [
            "accent",
            "rainbow",
            "plain",
            "retro"
          ]
        }
      }
    },
    "InstallPrefReq": {
      "description": "Shared schema for preferences and requirements",
      "type": "object",
      "properties": {
        "scope": {
          "description": "The scope of a package install",
          "type": "string",
          "enum": [
            "user",
            "machine"
          ],
          "default": "user"
        },
        "locale": {
          "description": "The locales of a package install",
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$",
            "maxLength": 20
          },
          "minItems": 1,
          "maxItems": 10
        }
      }
    },
    "InstallBehavior": {
      "description": "Install settings",
      "type": "object",
      "properties": {
        "preferences": { "$ref": "#/definitions/InstallPrefReq" },
        "requirements": { "$ref": "#/definitions/InstallPrefReq" }
      }
    },
    "Telemetry": {
      "description": "Telemetry settings",
      "type": "object",
      "properties": {
        "disable": {
          "description": "Controls whether telemetry events are written",
          "type": "boolean",
          "default": false
        }
      }
    },
    "Network": {
      "description": "Network settings",
      "type": "object",
      "properties": {
        "downloader": {
          "description": "Control which download code is used for packages",
          "type": "string",
          "enum": [
            "default",
            "wininet",
            "do"
          ],
          "default": "default"
        },
        "doProgressTimeoutInSeconds": {
          "description": "Number of seconds to wait without progress before fallback",
          "type": "integer",
          "default": 60,
          "minimum": 1,
          "maximum": 600
        }
      }
    },
    "Experimental": {
      "description": "Experimental Features",
      "type": "object",
      "properties": {
        "experimentalCMD": {
          "description": "Reference implementation for an experimental command",
          "type": "boolean",
          "default": false
        },
        "experimentalARG": {
          "description": "Reference implementation for an experimental argument",
          "type": "boolean",
          "default": false
        },
        "dependencies": {
          "description": "Support for package dependencies",
          "type": "boolean",
          "default": false
        },
        "directMSI": {
          "description": "Enable use of MSI APIs rather than msiexec for MSI installs",
          "type": "boolean",
          "default": false
        }
      }
    }
  },
  "allOf": [
    {
      "properties": {
        "visual": { "$ref": "#/definitions/Visual" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "source": { "$ref": "#/definitions/Source" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "installBehavior": { "$ref": "#/definitions/InstallBehavior" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "telemetry": { "$ref": "#/definitions/Telemetry" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "network": { "$ref": "#/definitions/Network" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "experimentalFeatures": { "$ref": "#/definitions/Experimental" }
      },
      "additionalItems": true
    }
  ],
  "additionalProperties": true
}

Que pelo que eu entendi , é tipo alguns exemplos de personalização! Que massa! Microsoft ta fazendo um bom trabalho, fizeram já um terminal legal, agora um gerenciador de pacotes “controlavel”.


@JG22 Seria esse o NindowsPKG declarativo?

Sim, é isso mesmo.

O que é isso?

Fiz um trocadilho com a distro que eu uso, “nixOS”, ela tem um gerenciador de pacotes diferente e um sistema de configuração diferente, que é um arquivo unico chamado de configuração declarativa e nixPKG para o gerenciador de pacotes, dai o NindowsPKG declarativo, nixPKG e configuração declarativa.

Tenho um tópico mostrando: nixOS, básico sobre o projeto

Esse é outro que tá vindo por padrão agora, está até no menu “Iniciar”.

Quanta heresia em comparar com algo tão belo :stuck_out_tongue:

:rofl:

(10 caracteres)

Vc também consegue usar o Winget no Windows 10, mas você precisa entrar no programa Insider.

Negativo, zero meia. Basta atualizar o instalador de aplicativos pelo link da própria Microsoft… Como usar o Winget no Windows 10 para instalar novos aplicativos | Mundo Conectado

Ops… preciso me atualizar

Eu estou dando uma pesquisada aqui do winget, também fiquei curioso da opção “source” (vi na documentação “oficial” = O comando source do WinGet | Microsoft Learn) , e tem também o “source add”, pra que seria isso? para “adicionar repositorios”? Ou uma especie de git ou algo integrado ao mesmo?