Compartilhar via


Publicar seu primeiro aplicativo Windows

Você criou um aplicativo WPF, WinForms ou WinUI 3, agora você precisa obtê-lo nas mãos dos usuários. Este guia percorre o caminho completo de uma compilação concluída até um aplicativo publicado, abrangendo os dois cenários de distribuição mais comuns: publicar na Microsoft Store (recomendado) e configurar a distribuição por download direto.

Dica

O Microsoft Store é o caminho recomendado para a maioria dos desenvolvedores. Ele lida com assinatura de código, entrega de atualizações e descoberta – e é a maneira mais simples de alcançar usuários do Windows. O download direto é a escolha certa quando você tem requisitos comerciais, empresariais ou de distribuição específicos que a Loja não satisfaz.

Etapa 1: Escolher seu caminho de distribuição

Seu caminho de distribuição determina os custos de assinatura de código, a mecânica de atualização, como os usuários descobrem seu aplicativo e como as empresas podem implantá-lo.

Escolha um caminho de distribuição para seu aplicativo Windows e veja uma comparação completa. Resumindo:

  • Microsoft Store — recomendado para a maioria dos aplicativos. Assinatura de serviços gratuita, atualizações integradas, ampla visibilidade e uma experiência de instalação confiável. Requer uma conta de desenvolvedor gratuita – registre-se no storedeveloper.microsoft.com.
  • Download direto – apropriado para ISVs comerciais com sua própria vitrine, aplicativos LOB empresariais ou aplicativos com conteúdo que a Loja não permite. Você é responsável por assinar, hospedar e atualizar.

A maioria dos novos aplicativos indie é uma boa opção para a Loja. Se você não tiver certeza, comece por aí.

Etapa 2: Configurar a assinatura de código

Se você estiver publicando um pacote MSIX no Microsoft Store: ignore esta etapa. Microsoft reassina seu pacote automaticamente como parte do processo de certificação.

Se você estiver enviando um instalador Win32 MSI/EXE para a Microsoft Store: você ainda precisa assinar digitalmente o instalador antes do envio. O instalador e seus arquivos PE devem ser assinados com um certificado em cadeia para uma AC no programa Microsoft Trusted Root. Certificados autoassinados não são aceitáveis. Consulte os requisitos do pacote de aplicativos para MSI/EXE.

Se você estiver distribuindo diretamente: precisará de um certificado de assinatura de código confiável. Aplicativos não assinados e aplicativos autoassinados disparam avisos fortes do SmartScreen e alguns ambientes corporativos os bloquearão totalmente.

Opções de assinatura de código para desenvolvedores de aplicativos Windows têm uma comparação completa. Diretrizes rápidas:

  • Organizações nos EUA, Canadá, UE ou Reino Unido/Indivíduos nos EUA ou Canadá:Azure Assinatura de Artefato (anteriormente Assinatura Confiável) — custa aproximadamente US$ 9,99/mês, não é necessário token de hardware, integra-se com pipelines de CI/CD. Essa é a opção da Microsoft recomendada para distribuição fora da Loja.
  • Desenvolvedores individuais fora dos EUA/Canadá ou qualquer pessoa que não seja elegível para Azure Artifact Signing: um certificado OV de uma autoridade de certificação, como DigiCert ou Sectigo, normalmente de US$ 150 a 300/ano.

Observação

A assinatura do aplicativo é necessária para uma boa experiência de primeira execução. Um novo aplicativo assinado ainda mostrará um aviso do SmartScreen até construir sua reputação; no entanto, o aviso é muito menos severo do que para aplicativos não assinados. Confira a reputação do SmartScreen para que os desenvolvedores entendam o que seus primeiros usuários verão.

Etapa 3: Empacotar seu aplicativo

A forma como você empacota seu aplicativo depende da estrutura do aplicativo usada.

WinUI 3

Os aplicativos WinUI 3 criados com os modelos de projeto SDK do Aplicativo Windows já são empacotados como MSIX por padrão. Quando você cria sua solução em Visual Studio, a saída é um arquivo .msix ou .msixbundle pronto para envio da Loja ou distribuição direta.

Se você quiser distribuir um aplicativo WinUI 3 não empacotado (sem empacotamento MSIX), consulte Distribuir um aplicativo WinUI 3 não empacotado. Observe que os aplicativos WinUI 3 não empacotados não podem gerar um EXE em um único arquivo e exigem o tempo de execução do SDK do Aplicativo Windows no computador do usuário (instalado separadamente por meio do instalador de runtime ou agrupado usando implantação auto-contida).

WPF e WinForms

os projetos WPF e WinForms não produzem MSIX por padrão. Você tem algumas opções:

Opção A: Projeto de Empacotamento de Aplicativos Windows (MSIX)
Adicione um Project de empacotamento de aplicativos Windows à sua solução em Visual Studio. Isso encapsula seu aplicativo em um pacote MSIX, proporcionando identidade de pacote, elegibilidade para a Loja e atualizações via Instalador de Aplicativos. Essa é a abordagem recomendada para envio na Store.

Empacote seu aplicativo de desktop usando MSIX de projeto único

Opção B: dotnet publish (EXE independente)
Para distribuição de download direto, dotnet publish com --self-contained produz um EXE autônomo que inclui o runtime .NET – os usuários não precisam instalar .NET separadamente.

dotnet publish -c Release -r win-x64 --self-contained true

Isso produz uma pasta de arquivos adequada para compactação e distribuição ou encapsulamento em um instalador. Ele não é diretamente elegível para a Loja.

Opção C: publicação dependente da estrutura
Omita --self-contained se estiver confortável exigindo que os usuários tenham o runtime .NET correto instalado. A saída é menor, mas tem uma dependência de runtime.

O processo de envio da Loja é executado por meio do Partner Center.

Etapas em um relance:

  1. Criar uma conta de desenvolvedor – Gratuito. Registre-se no storedeveloper.microsoft.com. A conta é permanente.
  2. Reserve o nome do aplicativo – declara o nome do aplicativo no Partner Center antes do envio. O nome é reservado para você durante o desenvolvimento.
  3. Compilar e empacotar seu aplicativo – crie um pacote MSIX que atenda aos requisitos da Loja. Para envios na Loja, os pacotes MSIX/AppX não precisam de uma assinatura de confiança de uma autoridade de certificação — a Microsoft substitui a assinatura original por um certificado da Microsoft após a certificação. Se você distribuir fora da Loja usando um instalador MSI ou EXE, a assinatura Authenticode é esperada e recomendada pelos recursos de segurança do Windows.
  4. Crie sua submissão – Envie seu pacote, forneça detalhes de listagem da loja (descrição, capturas de tela, categorias, classificação etária) e defina os preços.
  5. Certification — Microsoft revisa seu aplicativo quanto à conformidade da política. A certificação normalmente leva alguns dias úteis para novos aplicativos.
  6. Publicar — Depois de certificado, seu aplicativo aparece na Loja e está disponível para os usuários.

Crie sua submissão do aplicativo
Requisitos do pacote do App

Etapa 4b: Distribuir diretamente (caminho alternativo)

Se você estiver distribuindo seu aplicativo fora da Loja, terá várias opções de empacotamento e hospedagem.

MSIX com o Instalador de Aplicativos (.appinstaller)

Os pacotes MSIX distribuídos com um arquivo complementar .appinstaller dão suporte a verificações automáticas de atualização. Quando os usuários instalam o aplicativo do arquivo .appinstaller, Windows verifica periodicamente a URL especificada para uma versão mais recente e oferece a atualização.

Importante

O ms-appinstaller protocolo URI (que permite a instalação diretamente de um link da Web) está desabilitado por padrão desde dezembro de 2023 devido a problemas de segurança. Os usuários devem baixar o .appinstaller arquivo ou .msix e abri-lo manualmente.
Status atual dos recursos de distribuição

ClickOnce (WPF e WinForms)

O ClickOnce é uma tecnologia de implantação .NET integrada a Visual Studio que dá suporte a atualizações automáticas para aplicativos WPF e WinForms. Os usuários instalam a partir de um manifesto hospedado e o ClickOnce manipula as verificações de atualização de forma transparente.

Não há suporte para ClickOnce para aplicativos WinUI 3 — em vez disso, use o MSIX .appinstaller.

→ segurança e implantação do ClickOnce

Instalador do EXE

Um instalador EXE tradicional criado com uma ferramenta como WiX Toolset ou Inno Setup é familiar para os usuários e fácil de criar. Essas são ferramentas de comunidade bem estabelecidas usadas por muitos aplicativos Windows. Observe que os instaladores EXE exigem que você implemente seu próprio mecanismo de atualização.

Hospedando seu download

Opções comuns de hospedagem para download direto:

  • GitHub Releases — gratuito e livre, versionado e integra-se bem com pipelines de build automatizados. Adequado para aplicativos comerciais de software livre e pequenos.
  • Seu próprio site – controle total sobre a página de download, análise e fluxo de pagamento. Você precisará de armazenamento confiável e capacidade de CDN se o aplicativo crescer.
  • Lojas de terceiros – alguns desenvolvedores distribuem por meio de vitrines, como itch.io para aplicativos adjacentes a jogos.

winget para descoberta

Enviar seu aplicativo para o Windows Gerenciador de Pacotes Community Repository torna seu aplicativo instalável por meio de winget install. Isso é especialmente valorizado por públicos de desenvolvedores e usuários que preferem ferramentas de linha de comando. O envio é feito por meio de um pull request no repositório de manifestos da comunidade e é gratuito.

Etapa 5: Configurar a atualização automática

Manter os usuários na versão mais recente reduz a carga de suporte e garante que as correções de segurança cheguem a eles prontamente.

Caminho de distribuição Mecanismo de atualização
Microsoft Store (MSIX) Automático – O Store fornece atualizações em segundo plano
Microsoft Store (instalador MSI/EXE) Manual — o aplicativo ou instalador manipula atualizações; A Loja não envia atualizações por push para usuários existentes
MSIX + .appinstaller Integrado – Windows verifica a URL especificada em um horário programado
ClickOnce Integrado – verifica se há atualizações ao iniciar
Instalador EXE ou EXE autossuficiente Implementação manual necessária

Para implantações EXE ou autocontidas sem um mecanismo de atualização interno, Velopack é uma ferramenta de código aberto que adiciona recursos de atualização automática e instalador a aplicativos .NET. Não é um produto Microsoft – avalie-o com base em seus próprios requisitos.

Etapa 6: Manipular o SmartScreen para novos aplicativos

Cada novo aplicativo, independentemente de quão bem ele foi assinado, disparará um aviso SmartScreen no primeiro download até que ele acumule histórico de download suficiente. Isso é esperado e normal. Veja como lidar bem com isso:

  • Assine todas as versões. Aplicativos não assinados mostram um bloqueio "Windows protegeu seu computador" mais severo. Os aplicativos assinados mostram um aviso mais suave de "aplicativo não reconhecido" que os usuários podem ignorar com mais facilidade.
  • Defina as expectativas com os primeiros usuários. Diga aos testadores beta e aos primeiros adotantes o que esperar. Uma breve observação em seu comunicado de versão ("Você pode ver um prompt do SmartScreen na primeira execução — isso é normal para novos aplicativos; clique em "Mais informações" e em "Executar de qualquer maneira") evita confusão e instalações abandonadas.
  • Seja paciente. A reputação é construída organicamente com o volume de downloads. Não há nenhum processo de envio manual para acelerá-lo para pontos de extremidade do consumidor.

reputação do SmartScreen para desenvolvedores explica o modelo de reputação completa, o que os usuários veem em cada estágio e considerações sobre políticas empresariais.

O que vem a seguir

Depois que o aplicativo for publicado, você poderá:

  • Monitorar a integridade e as classificações do aplicativo — o Partner Center fornece análise de falhas, classificações de usuário e gerenciamento de revisão para aplicativos da Store
  • Gerenciar versões com distribuições em etapas – a Loja dá suporte à distribuição de uma nova versão para uma porcentagem de usuários antes de uma versão completa
  • Set up telemetry — considere integrar um serviço de análise de falha e uso, como Aplicativo Azure Insights ou outro SDK de análise para entender como seu aplicativo é usado
  • Responder aos comentários dos usuários — O Partner Center exibe avaliações da Loja; para aplicativos de download direto, considere um canal de feedback (GitHub Issues, um endereço de e-mail dedicado ou um fórum da comunidade)