Configuração do WinGet

Usando um arquivo de Configuração do WinGet, você pode consolidar a instalação manual do computador e a integração do projeto em apenas um comando confiável e repetível. Para fazer isso, o WinGet utiliza:

  • Um arquivo de Configuração do WinGet formatado em YAML que lista todas as versões de software, pacotes, ferramentas, dependências e configurações necessárias para configurar o estado desejado do ambiente de desenvolvimento em seu computador Windows.
  • O DSC (Desired State Configuration) do PowerShell para automatizar a configuração do sistema operacional Windows.
  • O comando winget configure do Gerenciador de Pacotes do Windows para iniciar o processo de configuração.

Benefícios para a instalação do computador e a integração de projetos

Os benefícios de usar um arquivo de Configuração do WinGet incluem:

  • Configuração autônoma: insira o comando winget configure e permita que o Gerenciador de Pacotes do Windows e o DSC do PowerShell automatizem a instalação e configurem todos os requisitos necessários para configurar o ambiente de desenvolvimento desejado em seu computador Windows.
  • Confiável e repetível: elimine a preocupação de encontrar as versões certas de software, pacotes, ferramentas, estruturas e definir as configurações corretas do computador para seu ambiente de desenvolvimento ao integrar a uma nova equipe ou projeto porque elas são predefinidas no arquivo de Configuração do WinGet usando um formato YAML (com um esquema JSON).
  • Dá suporte a colaboração open source: os arquivos de Configuração do WinGet podem ser hospedados em um repositório GitHub, no qual problemas ou contribuições podem ser arquivados ou podem ser mantidos privados em um local de armazenamento seguro (como o OneDrive) e compartilhados por email privado ou outros canais protegidos.

Aviso

Os arquivos de Configuração do WinGet e os recursos associados ao DSC PowerShell devem ser verificados para garantir que eles sejam confiáveis antes de aplicá-los.

Utilize um arquivo de configuração do WinGet para configurar seu computador

Para configurar seu computador usando um arquivo de Configuração do WinGet, você pode:

  1. Instalar o Dev Home, vá para Configuração do computador, selecione Arquivo de configuração e escolha o arquivo de configuração do WinGet que você deseja utilizar. (Para criar um arquivo de configuração, consulte Como criar um arquivo de configuração do WinGet).

  2. Usar winget configure na linha de comando. Para usar o comando winget configure, você deve estar executando a versão v1.6.2631 ou posterior do WinGet.

Perguntas frequentes sobre a configuração do WinGet

Encontre respostas para algumas das perguntas frequentes sobre a configuração WinGet.

Como funcionam os arquivos de Configuração do WinGet?

Os arquivos de Configuração do WinGet são escritos em YAML e definem o que está instalado no dispositivo para compor seu ambiente de desenvolvimento, bem como o estado de configuração do computador e dos aplicativos instalados.

Ao invés de uma sequência imperativa de etapas a serem seguidas, um arquivo de Configuração do WinGet é declarativo, definindo o resultado do estado de configuração do computador desejado. Usando Gerenciador de Pacotes do Windows e recursos de DSC do PowerShell, o arquivo declarativo de Configuração do WinGet pode instalar, definir e aplicar configurações ao seu ambiente, resultando em um estado pronto para codificar.

O WinGet analisará o arquivo de configuração para garantir que ele seja válido, em seguida, baixará todos os módulos associados ao PowerShell (contendo os recursos de DSC) necessários para atingir o estado desejado. Uma vez que esses recursos tiverem sido baixados e você tiver verificado a confiabilidade do arquivo de Configuração do WinGet, concordando que verificou a segurança do arquivo, o WinGet começará a testar todas as declarações necessárias e aplicar o estado desejado.

A sequência na qual os recursos do arquivo de Configuração do WinGet são ordenados não faz diferença. Alguns processos de instalação e configuração podem até ser executados em paralelo. As declarações necessárias correspondem diretamente ao campo dependsOn definido em cada Recurso. Se o recurso incluir uma dependência de uma declaração, a declaração necessária será verificada primeiro. Se a declaração falhar, o recurso dependente também falhará. No entanto, o arquivo de configuração continuará a ser executado, realizando o máximo de tarefas possível, mesmo que algumas das declarações necessárias ou dependências de recursos falhem, levando seu computador o mais longe possível no processo de configuração antes de concluir. Depois que a configuração é concluída, é sua responsabilidade verificar se há falhas.

Por exemplo, depois de executar o arquivo de Configuração do WinGet, você poderá ver um resultado como:

Assert:: OsVersion
The configuration unit could not be found.
Apply :: DeveloperMode
  This configuration unity was not run because an assert failed or was false.
Apply :: WinGetPackage [vsPackage]
  This configuration unity was not run because an assert failed or was false.

Neste exemplo, a verificação de declaração para a versão necessária do sistema operacional falhou, portanto, os recursos DeveloperMode e WinGetPackage que incluíam uma dependência dessa declaração para a versão do sistema operacional também falharam. No entanto, quaisquer outras tarefas de instalação e configuração listadas no arquivo de configuração continuariam a avançar.

Um benefício para a natureza declarativa (não sequencial) dos arquivos de configuração do WinGet é que a posição dos novos recursos que estão sendo adicionados ao arquivo não interfere. Isso é especialmente útil para arquivos de configuração longos, pois você pode apenas adicionar mais recursos à parte inferior do arquivo. Desde que você tenha definido corretamente as declarações e dependências, você não precisa se preocupar com a sequência ou quais etapas de configuração ocorrem por primeiro, segundo etc.

Captura de tela de um terminal PowerShell rodando um arquivo de configuração WinGet com falha da declaração e dos recursos dependentes.

Como eu utilizo os arquivos de Configuração do WinGet?

Para executar um arquivo de Configuração do WinGet, use o winget configure comando .

Como eu crio uma configuração do WinGet?

Para criar um arquivo de Configuração do WinGet, siga as diretrizes no documento Como criar um arquivo de Configuração do WinGet.

Como posso garantir que um arquivo de Configuração do WinGet seja confiável?

Recomendamos SEMPRE validar a integridade de um arquivo de Configuração do WinGet antes de executá-lo, examinando o conteúdo dele e testando a configuração em um ambiente isolado. Confira Como marcar a confiabilidade de um arquivo de Configuração do WinGet.

Onde posso encontrar exemplos de arquivos de configuração do WinGet?

Você pode encontrar arquivos de configuração de exemplo do WinGet no repositório Windows Dev Home: https://aka.ms/dsc.yaml.

Onde posso encontrar exemplos de módulos do PowerShell que contêm recursos de DSC?

O Galeria do PowerShell hospeda centenas de módulos do PowerShell que contêm recursos de Desired State Configuration (DSC). Você pode filtrar os resultados da pesquisa aplicando o filtro "Recurso DSC" em "Categorias".

 Resultados da pesquisa do módulo Desired State Configuration do PowerShell da Galeria do PowerShell

Posso configurar uma política para bloquear o uso de arquivos de Configuração do WinGet em minha organização?

Sim. Objetos de Política de Grupo EnableWindowsPackageManagerConfiguration e EnableWindowsPackageManagerConfigurationExplanation podem ser utilizados para desabilitar o recurso de Configuração do WinGet em sua organização.

Onde posso saber mais sobre como usar as Configurações do WinGet com a Página inicial para desenvolvedores e Unidades de Desenvolvimento?

Saiba mais sobre como usar a ferramenta de Configuração do Computador na Página inicial para desenvolvedores do Windows 11 no artigo Configurar seu ambiente de desenvolvimento do Windows com o a Página inicial para desenvolvedores. Você também pode estar interessado em aprender a usar os volumes de armazenamento da Unidade de Desenvolvimento mais otimizados para desempenho. Consulte Configurar uma Unidade de Desenvolvimento no Windows 11.

Solução de problemas de configurações do WinGet

O motivo mais comum para uma falha na Configuração do WinGet é devido a um recurso DSC do PowerShell que exige acesso administrativo para aplicar o estado desejado. Nem todos os recursos de DSC apresentam motivos explícitos para falha.

Mais problemas comuns de resolução de problemas serão adicionados em breve. Enquanto isso, verifique os problemas relacionados registrados no Repositório WinGet CLI no GitHub.