Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Depois de criar um manifesto de pacote que descreva seu aplicativo, você estará pronto para enviar seu manifesto para o repositório do Gerenciador de Pacotes do Windows. Este é um repositório voltado para o público que contém uma coleção de manifestos que a ferramenta winget pode acessar. Para enviar seu manifesto, você o carregará no repositório de código https://github.com/microsoft/winget-pkgs aberto no GitHub.
Depois de enviar uma solicitação pull para adicionar um novo manifesto ao repositório GitHub, um processo automatizado validará seu arquivo de manifesto e verificará se o pacote está em conformidade com as políticas do Gerenciador de Pacotes do Windows e não é conhecido por ser mal-intencionado. Se essa validação for bem-sucedida, seu pacote será adicionado ao repositório público do Gerenciador de Pacotes do Windows para que possa ser descoberto pela ferramenta cliente winget . Observe a distinção entre os manifestos no repositório GitHub de código aberto e no repositório do Gerenciador de Pacotes do Windows voltado para o público.
Importante
A Microsoft reserva-se o direito de recusar uma submissão por qualquer motivo.
Validação de manifesto
Quando você envia um manifesto para o https://github.com/microsoft/winget-pkgs repositório no GitHub, seu manifesto será automaticamente validado e avaliado quanto à segurança do ecossistema do Windows. Os manifestos também podem ser revistos manualmente.
Para mais informações sobre o processo de validação, consulte a secção do processo de validação abaixo.
Como apresentar o seu manifesto
Para enviar um manifesto para o repositório, siga estas etapas.
Etapa 1: Validar seu manifesto
A ferramenta winget fornece o comando validate para confirmar que criou o seu manifesto corretamente. Para validar seu manifesto, use este comando.
winget validate \<path-to-the-manifests>
Se a validação falhar, use os erros para localizar o número da linha e fazer uma correção. Depois que o manifesto for validado, você poderá enviá-lo ao repositório.
Etapa 2: testar seu manifesto com o Windows Sandbox
O repositório do Gestor de Pacotes do Windows inclui um script que instalará o Gestor de Pacotes do Windows numa Sandbox para testar envios de manifesto. Para executar o script powershell, navegue até o repositório winget-pkgs. No PowerShell, digite o seguinte comando:
powershell .\Tools\SandboxTest.ps1 manifests\m\Microsoft\VisualStudioCode\1.56.0
Talvez seja necessário atualizar esse script com o caminho correto para o arquivo de manifesto: .\Tools\SandboxTest.ps1 <path to manifest or manifest folder>
Veja o script completo de teste de sandbox no repositório winget-pkgs.
Etapa 3: clonar o repositório
Para criar uma bifurcação do repositório da Comunidade do Gerenciador de Pacotes do Windows e clonar o repositório para sua máquina local:
Vá para https://github.com/microsoft/winget-pkgs no seu navegador e selecione Fork.
No Prompt de Comando do Windows ou PowerShell, use o seguinte comando para clonar sua bifurcação.
git clone <your-fork-name>Se você estiver inserindo vários envios, crie uma ramificação em vez de uma bifurcação. Atualmente, permitimos apenas um arquivo de manifesto por envio.
git checkout -b <branch-name>
Etapa 4: Adicionar seu manifesto ao repositório local
Você deve adicionar seus arquivos de manifesto ao repositório na seguinte estrutura de pastas:
manifesta / carta / editor / aplicativo / versão
- A pasta manifests é a pasta principal de todos os manifestos no repositório.
- A pasta de cartas letra é a primeira letra do nome do editor em letra minúscula. Por exemplo, m do editor Microsoft.
- O pasta do editor é o nome da empresa que publica o software. Por exemplo, a Microsoft.
- A pasta de aplicação é o nome da aplicação ou ferramenta. Por exemplo, VSCode.
- A pasta da versão é a versão da aplicação ou ferramenta. Por exemplo, 1.0.0.
Os valores em PackageIdentifier e PackageVersion no manifesto devem corresponder ao editor, aos nomes dos aplicativos e à versão no caminho da pasta do manifesto. Para obter mais informações, consulte Criar o manifesto do pacote.
Etapa 5: Enviar seu manifesto para o repositório remoto
Agora você está pronto para enviar seu novo manifesto para o repositório remoto.
Use o
commitcomando para adicionar arquivos e confirmar a alteração e fornecer informações sobre o envio.git commit -m "Submitting ContosoApp version 1.0.0" --allUse o
pushcomando para enviar as alterações por push para o repositório remoto.git push
Etapa 6: Criar uma solicitação pull
Depois de enviar as alterações, retorne ao https://github.com/microsoft/winget-pkgs e crie uma solicitação pull para mesclar sua bifurcação ou ramificação para a ramificação principal.
Processo de submissão
Quando cria um pull request, inicia um processo automatizado que valida os manifestos e verifica o seu pull request. Durante este processo, executaremos testes no instalador e instalaremos binários para validar o envio.
Adicionamos etiquetas ao seu pull request para que possa acompanhar o seu progresso. Para obter mais informações sobre rótulos e o processo, consulte a seção pull request labels abaixo.
Uma vez concluído, seu envio será revisado manualmente por um moderador e, depois de aprovado, seu aplicativo será adicionado ao catálogo do Gerenciador de Pacotes do Windows.
Se houver algum erro durante o processo, você será notificado e nossos rótulos e bot irão ajudá-lo a corrigir seu envio. Para obter a lista de erros comuns, consulte a seção do processo de validação abaixo.
Processo de validação
Quando você criar uma solicitação pull enviar seu manifesto para o repositório do Gerenciador de Pacotes do Windows, isso iniciará um processo de automação que valida o manifesto e processa sua solicitação pull. Os rótulos do GitHub são usados para compartilhar o progresso e permitir que você se comunique conosco.
Expectativas de submissão
Todos os envios de aplicativos para o repositório do Gerenciador de Pacotes do Windows devem aderir às políticas de repositório do Gerenciador de Pacotes do Windows.
Expectativas para submissões:
- O manifesto está em conformidade com os requisitos do esquema .
- Todos os URLs no manifesto levam a sites seguros.
- O instalador e a aplicação estão livres de vírus. O pacote pode ser identificado como malware por engano. Se acreditas que é um falso positivo, podes enviar o instalador à equipa do Microsoft Defender para análise.
- O aplicativo instala e desinstala corretamente para administradores e não administradores.
- O instalador suporta modos não interativos.
- Todas as entradas de manifesto são precisas e não enganosas.
- O instalador vem diretamente do site da editora.
Para obter uma lista completa das políticas, consulte Políticas do Gerenciador de Pacotes do Windows.
Etiquetas de pull request
Durante a validação, uma série de rótulos são aplicados aos pull requests para comunicar o progresso. Alguns rótulos direcionarão você a agir, enquanto outros serão direcionados para a equipe de engenharia do Gerenciador de Pacotes do Windows.
Rótulos de status
A tabela a seguir descreve os rótulos de status que você pode encontrar.
| Etiqueta | Detalhes |
|---|---|
| Azure-Pipeline-Aprovado | O manifesto completou a fase de testes. Aguarda aprovação. Se nenhum problema for encontrado durante a aprovação no teste, ele será automaticamente aprovado. Se um teste falhar, ele pode ser sinalizado para revisão manual. |
| Problema de bloqueio | Esse rótulo indica que a solicitação pull não pode ser aprovada porque há um problema de bloqueio. Muitas vezes, você pode saber qual é o problema de bloqueio pelo rótulo de erro incluído. |
| Requer Atenção | Esse rótulo indica que a solicitação pull precisa ser investigada pela equipe de desenvolvimento do Gerenciador de Pacotes do Windows. Isso ocorre devido a uma falha de teste que precisa de revisão manual ou a um comentário adicionado à solicitação pull pela comunidade. |
| Necessidade de Feedback do Autor | Indica que há uma falha com o envio. Vamos reatribuir o pull request de volta para você. Se você não resolver o problema dentro de 10 dias, o bot fechará a solicitação pull. rótulos Needs-Author-Feedback normalmente são adicionados quando houve uma falha com a solicitação pull que deve ser atualizada ou se a pessoa que está revisando a solicitação pull tiver uma pergunta. |
| de validação concluída | Indica que a aprovação no teste foi concluída com êxito e sua solicitação pull será mesclada. |
Rótulos de erro
A tabela a seguir descreve os rótulos de erro você pode encontrar. Nem todos os casos de erro serão atribuídos a você imediatamente. Alguns podem desencadear a validação manual.
| Etiqueta | Detalhes |
|---|---|
| Binary-Validation-Error | A aplicação incluída neste pedido de pull não conseguiu passar no teste Installers Scan. Esse teste foi projetado para garantir que o aplicativo seja instalado em todos os ambientes sem avisos. Para obter mais detalhes sobre esse erro, consulte a seção Erro de validação binária abaixo. |
| Erro-Análise-Tempo Esgotado | O teste Binary-Validation-Test expirou. A solicitação pull será atribuída a um engenheiro do Gerenciador de Pacotes do Windows para investigar. |
| Erro-Incompatibilidade-Hash | O manifesto enviado não pôde ser processado porque o hash |
| Erro-Instalador-Disponibilidade | O serviço de validação não pôde baixar o instalador. Isso pode estar relacionado a intervalos de IP do Azure sendo bloqueados ou a URL do instalador pode estar incorreta. Verifique se o InstallerURL do está correto e tente novamente. Se você achar que isso falhou por engano, adicione um comentário e a solicitação pull será atribuída a um engenheiro do Gerenciador de Pacotes do Windows para investigar. |
| Manifest-Installer-Validation-Error | Existem incoerências ou valores não presentes no manifesto durante a avaliação de um pacote MSIX. |
| Manifest-Path-Error | Os arquivos de manifesto devem ser colocados em uma estrutura de pastas específica. Esta etiqueta indica um problema com o caminho do seu envio. Por exemplo, a estrutura de pastas não tem o formato necessário. Atualize o seu manifesto e o caminho, e depois reenvie a sua solicitação de pull. |
| Erro de Validação de Manifesto | O manifesto enviado contém um erro de sintaxe. Resolva o problema de sintaxe com o manifesto e reenvie. Para obter detalhes sobre o formato e o esquema do manifesto, consulte formato necessário. |
| PullRequest-Error | A solicitação pull é inválida porque nem todos os arquivos enviados estão na pasta manifest ou há mais de um pacote ou versão na solicitação pull. Atualize o seu pull request para resolver o problema e tente novamente. |
| URL-Validation-Error | O de Teste de Validação de URLs |
| Validação-Defender-Error | Durante o teste dinâmico, o Microsoft Defender relatou um problema. Para reproduzir esse problema, instale o aplicativo e, em seguida, execute uma verificação completa do Microsoft Defender. Se conseguir reproduzir o problema, corrija o binário ou envie-o para análise para assistência em caso de falso positivo. Se você não conseguir reproduzir o problema, adicione um comentário para que os engenheiros do Gerenciador de Pacotes do Windows investiguem. |
| Validação-Domínio | O teste determinou o domínio caso o InstallerURL não corresponda ao domínio esperado. As políticas do Gerenciador de Pacotes do Windows exigem que o InstallerUrl venha diretamente do local de lançamento do ISV. Se você acredita que essa é uma deteção falsa, adicione um comentário à solicitação pull para que os engenheiros do Gerenciador de Pacotes do Windows investiguem. |
| erro de validação | A validação do Gerenciador de Pacotes do Windows falhou durante a aprovação manual. Veja o comentário que acompanha as próximas etapas. |
| Erro de Validação-Executável | Durante o teste de instalação, o teste não conseguiu localizar o aplicativo principal. Certifique-se de que o aplicativo é instalado corretamente em todas as plataformas. Se o seu aplicativo não instalar um aplicativo, mas ainda assim deve ser incluído no repositório, adicione um comentário à solicitação pull para que os engenheiros do Gerenciador de Pacotes do Windows investiguem. |
| Falha na Verificação do Hash de Validação | Durante o teste de instalação, o aplicativo falha ao instalar porque o InstallerSha256 não corresponde mais ao hash InstallerURL . Isso pode ocorrer se o aplicativo estiver atrás de um URL personalizado e o instalador foi atualizado sem atualizar o InstallerSha256. Para resolver esse problema, atualize o InstallerSha256 associado ao InstallerURL e envie novamente. |
| Erro de Validação HTTP | O URL usado para o instalador não usa o protocolo HTTPS. Atualize o InstallerURL para usar HTTPS e reenviar o Pull Request. |
| Validação-Indireta-URL | A URL não vem diretamente do servidor ISVs. Os testes determinaram que um redirecionador foi usado. Isso não é permitido porque as políticas do Gerenciador de Pacotes do Windows exigem que o InstallerUrl venha diretamente do local de publicação do ISV. Remova o redirecionamento e envie novamente. |
| Erro de Validação-Instalação | Durante a validação manual deste pacote, houve um erro geral. Veja o comentário que acompanha as próximas etapas. |
| Validação-Fusão-Conflito | Este pacote não pôde ser validado devido a um conflito de mesclagem. Por favor, resolva o conflito de fusão e reenvie o seu pedido de pull. |
| Validação-MSIX-Dependência | O pacote MSIX tem uma dependência de um pacote que não pôde ser resolvida. Atualize o pacote para incluir os componentes ausentes ou adicione a dependência ao arquivo de manifesto e reenvie a solicitação pull. |
| URL de validação não aprovada | O teste determinou o domínio caso o InstallerURL não corresponda ao domínio esperado. As políticas do Gerenciador de Pacotes do Windows exigem que o InstallerUrl venha diretamente do local de lançamento do ISV. |
| Validação-Não Assistida-Falhada | Durante a instalação, o teste atingiu o tempo limite. Isto provavelmente deve-se ao facto de a aplicação não estar a ser instalada de forma silenciosa. Também pode ser devido a outro erro que foi encontrado e que interrompe o teste. Verifique se você pode instalar seu manifesto sem a entrada do usuário. Se precisar de assistência, adicione um comentário à solicitação pull e os engenheiros do Gerenciador de Pacotes do Windows investigarão. |
| Validação-Desinstalação-Erro | Durante o teste de desinstalação, a aplicação não foi completamente removida após a desinstalação. Veja o comentário que acompanha o documento para obter mais detalhes. |
| Validação-Dependência-VCRuntime | O pacote tem uma dependência no tempo de execução do C++ que não pôde ser resolvida. Atualize o pacote para incluir os componentes ausentes ou adicione a dependência ao arquivo de manifesto e reenvie a solicitação pull. |
Rótulos de política de conteúdo
A tabela a seguir lista rótulos de política de conteúdo. Se um desses rótulos for adicionado, algo nos metadados de manifesto acionou a revisão manual de conteúdo adicional para garantir que os metadados estejam seguindo as políticas Gerenciador de Pacotes do Windows.
| Etiqueta | Detalhes |
|---|---|
| Política-Teste-2.1 | Consulte Requisitos gerais de conteúdo. |
| Política-Teste-2.2 | Ver conteúdo, incluindo nomes, logótipos, conteúdo original e de terceiros |
| Política-Teste-2.3 | Ver Risco de Danos. |
| Política-Teste-2.4 | Veja Difamatório, Calunioso, Injurioso e Ameaçador. |
| Política-Teste-2.5 | Consulte Conteúdo ofensivo. |
| Política-Teste-2.6 | Ver Álcool, Tabaco, Armas e Drogas. |
| Política-Teste-2.7 | Consulte Conteúdo adulto. |
| Política-Teste-2.8 | Veja Atividade ilegal. |
| Política-Teste-2.9 | Consulte Profanidade excessiva e conteúdo impróprio. |
| Política-Test-2.10 | Consulte Requisitos específicos de país/região. |
| Política-Teste-2.11 | Consulte Classificações etárias. |
| Política-Teste-2.12 | Consulte Conteúdo Gerado pelo Usuário. |
Rótulos internos
A tabela a seguir lista os rótulos de erro internos. Quando forem encontrados erros internos, sua solicitação pull será atribuída aos engenheiros do Gerenciador de Pacotes do Windows para investigar.
| Etiqueta | Detalhes |
|---|---|
| de domínio de erro interno | Ocorreu um erro durante a validação do domínio do URL. |
| Erro-Interno-Varredura-Dinâmica | Ocorreu um erro durante a validação dos binários instalados. |
| Política-de-Palavras-Chave-de-Erros-Internos | Ocorreu um erro durante a validação do manifesto. |
| Manifesto de Erro Interno | Ocorreu um erro durante a validação do manifesto. |
| Internal-Error-NoArchitectures | Ocorreu um erro porque o teste não pôde determinar a arquitetura do aplicativo. |
| Erro Interno - Nenhuma Arquitetura Suportada | Ocorreu um erro porque a arquitetura atual não é suportada. |
| Erro-Interno-PR | Ocorreu um erro durante o processamento do pull request. |
| Internal-Error-Static-Scan | Ocorreu um erro durante a análise estática dos instaladores. |
| URL de erro interno | Ocorreu um erro durante a validação da reputação dos instaladores. |
| Erro Interno | Uma falha genérica ou erro desconhecido ocorreu durante a execução do teste. |
Erro de validação binária
Se a validação do seu Pull Request falhar ao teste Installers Scan e receber um rótulo Binary-Validation-Error, isso significa que a sua aplicação falhou ao instalar em todos os ambientes.
Teste de verificação de instaladores
Para fornecer uma excelente experiência de usuário de instalação de aplicativos, o Gerenciador de Pacotes do Windows deve garantir que todos os aplicativos sejam instalados em PCs sem erros, independentemente do ambiente. Um teste importante é garantir que todos os aplicativos sejam instalados sem avisos em várias configurações antivírus populares. O Windows fornece o programa antivírus interno Microsoft Defender, mas muitos clientes corporativos e usuários usam outro software antivírus.
Cada envio para o Repositório do Gerenciador de Pacotes do Windows é executado através de vários programas antivírus. Todos esses programas têm diferentes algoritmos de deteção de vírus para identificar aplicações potencialmente indesejadas (PUA) e malware.
Corrigir erros de validação binária
Se um aplicativo falhar na validação, a Microsoft primeiro tentará verificar com o fornecedor do antivírus se o software sinalizado é um falso positivo. Em muitos casos, após a notificação e validação, o fornecedor do antivírus atualiza seu algoritmo e o aplicativo passa.
Em alguns casos, o fornecedor do antivírus não pode determinar se a anomalia de código detetada é um falso positivo. Nesse caso, o aplicativo não pode ser adicionado ao repositório do Gerenciador de Pacotes do Windows. A pull request é rejeitada com um rótulo Binary-Validation-Error.
Se receberes um rótulo de Binary-Validation-Error na tua solicitação de pull, atualiza o software para remover o código detetado como PUA.
Às vezes, as ferramentas genuínas, utilizadas para depuração e atividades de baixo nível, são identificadas como PUA pelo software antivírus. Isso ocorre porque o código de depuração necessário tem uma assinatura semelhante ao software indesejado. Embora essa prática de codificação seja legítima, o repositório do Gerenciador de Pacotes do Windows, infelizmente, não pode permitir esses aplicativos.
Solução de problemas de envio
Se o envio do Gerenciador de Pacotes do Windows falhar, você poderá usar os rótulos descritos acima para investigar o motivo da falha.
Para investigar falhas de pull request, siga os seguintes passos:
Uma falha de solicitação pull aparece na parte inferior da página da Web com a cadeia de caracteres Algumas verificações não foram bem-sucedidas. Selecione o link Detalhes ao lado de uma validação com falha para acessar a página Azure Pipelines.
Na página Pipelines do Azure, selecione o link 0 erros / 0 avisos.
Na página seguinte, selecione o trabalho falhado.
A próxima página mostra a saída para o trabalho com falha. A saída deve ajudá-lo a identificar a alteração necessária para corrigir o manifesto.
No exemplo a seguir, a falha ocorreu durante a tarefa de Validação de Instalação .
Windows developer