Partilhar via


Publique a sua primeira aplicação para Windows

Criou uma aplicação WPF, WinForms ou WinUI 3 — agora precisa de a colocar nas mãos dos utilizadores. Este guia percorre todo o percurso desde uma build finalizada até uma aplicação publicada, cobrindo os dois cenários de distribuição mais comuns: publicar para a distribuição Microsoft Store (recomendado) e configurar a distribuição download direto.

Sugestão

A Microsoft Store é o caminho recomendado pela maioria dos programadores. Trata da assinatura de código, entrega de atualizações e descoberta — e é a forma de menor atrito de chegar aos utilizadores do Windows. O download direto é a escolha certa quando há requisitos comerciais, empresariais ou de distribuição específicos que a Loja não satisfaz.

Passo 1: Escolha o seu caminho de distribuição

O seu caminho de distribuição determina os custos de assinatura de código, mecânicas de atualização, como os utilizadores descobrem a sua aplicação e como as empresas a podem implementar.

Escolha um caminho de distribuição para a sua aplicação de Windows tem uma comparação completa. Em resumo:

  • Microsoft Store — recomendado para a maioria das aplicações. Assinatura gratuita, atualizações integradas, ampla descoberta e uma experiência de instalação confiável. Requer uma conta de programador gratuita — regista-te no storedeveloper.microsoft.com.
  • Download direto — apropriado para ISVs comerciais com a sua própria loja, aplicações LOB empresariais ou aplicações com conteúdo que a Loja não permite. És responsável por assinar, hospedar e atualizar.

A maioria das novas aplicações indie encaixa bem na Store. Se tiveres dúvidas, começa por aí.

Passo 2: Configurar assinatura de código

Se estás a publicar um pacote MSIX no Microsoft Store: salta este passo. A Microsoft reassina automaticamente o seu pacote como parte do processo de certificação.

Se estiver a enviar um instalador MSI/EXE Win32 para a Microsoft Store: ainda precisa de assinar o seu instalador antes de enviar. O instalador e os seus ficheiros PE devem ser assinados com um certificado que se liga a uma CA no Microsoft Trusted Root Program. Certificados autoassinados não são aceitáveis. Consulte os requisitos da aplicação para o pacote MSI/EXE.

Se estiver a distribuir diretamente: precisa de um certificado de assinatura de código confiável. Aplicações não assinadas e aplicações auto-assinadas geram avisos rigorosos do SmartScreen, e alguns ambientes empresariais poderão bloqueá-las completamente.

Opções de assinatura de código para desenvolvedores de aplicações Windows tem uma comparação completa. Orientação rápida:

  • Organizações nos EUA, Canadá, UE ou Reino Unido / Indivíduos nos EUA ou Canadá:Azure Assinatura de Artefactos (anteriormente Assinatura Confiável) — aproximadamente $9,99/mês, sem necessidade de token de hardware, integra-se com pipelines CI/CD. Esta é a opção recomendada pela Microsoft para distribuição fora da Store.
  • Desenvolvedores individuais fora dos EUA/Canadá, ou qualquer pessoa não elegível para Assinatura de Artefactos do Azure: Um certificado OV de uma Autoridade Certificadora como DigiCert ou Sectigo — normalmente entre $150 e $300/ano.

Observação

Assinar a sua aplicação é necessário para uma boa experiência de primeira execução. Uma nova aplicação assinada continuará a exibir um aviso do SmartScreen até que ganhe reputação — no entanto, o aviso é bem menos severo do que para aplicações não assinadas. Consulte a reputação SmartScreen para os desenvolvedores para compreender o que os seus primeiros utilizadores irão ver.

Passo 3: Empacotar a sua aplicação

A forma como empacotas a tua aplicação depende do framework da app que usaste.

WinUI 3

As aplicações WinUI 3 criadas com os modelos de projeto do SDK de Aplicações Windows já são empacotadas como MSIX por defeito. Quando constrói a sua solução em Visual Studio, a saída é um ficheiro .msix ou .msixbundle pronto para submissão na Store ou distribuição direta.

Se quiser distribuir uma aplicação WinUI 3 não embalada (sem embalagem MSIX), veja Distribuir uma aplicação WinUI 3 não embalada. Note que as aplicações WinUI 3 não empacotadas não conseguem produzir um EXE de ficheiro único e requerem o runtime do SDK de Aplicações Windows na máquina do utilizador (instalado separadamente através do instalador de tempo de execução, ou agrupado usando uma implementação autónoma).

WPF e WinForms

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

Opção A: Projeto de Empacotamento de Aplicações do Windows (MSIX)
Adicione um Project de Empacotamento de Aplicações Windows à sua solução no Visual Studio. Isto envolve a sua aplicação num pacote MSIX, dando-lhe identidade do pacote, elegibilidade da loja e atualizações baseadas no App Installer. Esta é a abordagem recomendada para submissão na Loja.

Empacote a sua aplicação de ambiente de trabalho usando MSIX de projeto único

Opção B: dotnet publish (EXE autónomo)
Para distribuição direta de download, dotnet publish com --self-contained produz um EXE autónomo que inclui o tempo de execução .NET — os utilizadores não precisam de instalar .NET separadamente.

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

Isto produz uma pasta de ficheiros adequada para comprimir e distribuir, ou envolver num instalador. Não é diretamente elegível para a loja de aplicações.

Opção C: Publicação dependente do framework
Omite --self-contained se estiveres confortável em exigir que os utilizadores tenham o runtime correto .NET instalado. A saída é menor, mas tem uma dependência durante a execução.

O processo de submissão da loja decorre através do Partner Center.

Passos resumidos:

  1. Crie uma conta de programador — Grátis. Registe-se no storedeveloper.microsoft.com. A conta é permanente.
  2. Reserve o nome da sua aplicação — Reclame o nome da sua aplicação no Centro de Parceiros antes de submeter. O nome é mantido para ti durante o desenvolvimento.
  3. Construa e empacote a sua aplicação — Crie um pacote MSIX que cumpra os requisitos da Loja. Para submissões de loja, os pacotes MSIX/AppX não precisam de uma assinatura confiável na CA — a Microsoft reassina o pacote com um certificado Microsoft após a certificação. Se distribuir fora da Store usando um instalador MSI ou EXE, a assinatura Authenticode é recomendada e esperada pelas funcionalidades de segurança do Windows.
  4. Crie a sua submissão — Carregue o seu pacote, forneça detalhes da lista da loja (descrição, capturas de ecrã, categorias, classificação etária) e defina os preços.
  5. Certification — A Microsoft revê a sua aplicação para verificar a conformidade com as políticas. A certificação normalmente demora alguns dias úteis para novas aplicações.
  6. Publicar — Uma vez certificada, a sua aplicação aparece na Loja e está disponível para os utilizadores.

Crie a submissão da sua aplicação
Requisitos do pacote de aplicação

Passo 4b: Distribuir diretamente (caminho alternativo)

Se estiver a distribuir a sua aplicação fora da Loja, tem várias opções de embalagem e alojamento.

MSIX com Instalador de Aplicações (.appinstaller)

Os pacotes MSIX distribuídos com ficheiros complementares .appinstaller suportam verificações automáticas de atualização. Quando os utilizadores instalam a aplicação a partir do ficheiro .appinstaller, o Windows verifica periodicamente o URL que especificou para uma versão mais recente e oferece uma atualização.

Importante

O ms-appinstaller protocolo URI (que permite instalar diretamente a partir de um link web) está desativado por defeito desde dezembro de 2023 devido a preocupações de segurança. Os utilizadores devem descarregar o ficheiro .appinstaller ou .msix e abri-lo manualmente.
Estado atual das funcionalidades de distribuição

ClickOnce (WPF e WinForms)

O ClickOnce é uma tecnologia de implementação .NET integrada no Visual Studio que suporta atualizações automáticas para aplicações WPF e WinForms. Os utilizadores instalam a partir de um manifesto alojado, e o ClickOnce gere as verificações de atualizações de forma transparente.

O ClickOnce não é suportado para aplicações WinUI 3 — use o MSIX em vez disso .appinstaller .

Segurança e implementação do ClickOnce

Instalador EXE

Um instalador EXE tradicional criado com uma ferramenta como o WiX Toolset ou o Inno Setup é familiar para os utilizadores e simples de produzir. Estas são ferramentas comunitárias bem estabelecidas usadas por muitas aplicações Windows. Note que os instaladores EXE exigem que implemente o seu próprio mecanismo de atualização.

Hospedar o seu download

Opções comuns de alojamento para download direto:

  • GitHub Releases — gratuito, versionado e integra-se bem com pipelines de compilação automatizados. Adequado para aplicações open source e pequenas comerciais.
  • O seu próprio site — controlo total sobre a página de download, análises e fluxo de pagamentos. Vai precisar de armazenamento fiável e capacidade CDN se a sua aplicação crescer.
  • Lojas de terceiros — alguns programadores distribuem através de lojas como itch.io para aplicações relacionadas com jogos.

winget para facilidade de descoberta

Submeter a sua aplicação ao Repositório Comunitário Windows Gestor de Pacotes torna a sua aplicação instalável via winget install. Isto é especialmente valorizado por públicos de programadores e utilizadores avançados que preferem ferramentas de linha de comandos. A submissão é um pull request no repositório de manifestos da comunidade e é gratuita.

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

Manter os utilizadores na versão mais recente reduz o peso do suporte e garante que as correções de segurança lhes chegam rapidamente.

Caminho de distribuição Mecanismo de atualização
Microsoft Store (MSIX) Automático — A loja fornece atualizações em segundo plano
Microsoft Store (instalador MSI/EXE) Manual — a aplicação ou instalador trata das atualizações; A loja não envia atualizações para utilizadores existentes
MSIX + .appinstaller Incorporado — O Windows verifica o URL que especifica num calendário
ClickOnce Incorporado — verifica atualizações quando iniciado
Instalador EXE ou EXE autónomo É necessária implementação manual

Para implementações EXE ou autónomas sem um mecanismo de atualização incorporado, Velopack é uma ferramenta comunitária que adiciona capacidades de atualização automática e instalação às .NET aplicações. Não é um produto da Microsoft — avalie-o com base nas suas próprias necessidades.

Passo 6: Manusear o SmartScreen para novas aplicações

Cada nova aplicação — independentemente de quão bem esteja assinalada — disparará um aviso de SmartScreen no primeiro download até acumular histórico suficiente. Isto é esperado e normal. Aqui está como lidar bem com isso:

  • Assina todas as autorizações. Aplicações sem assinatura mostram um bloqueio mais severo de "O Windows protegeu o seu PC". As aplicações assinadas mostram um aviso mais suave de "aplicação não reconhecida" que os utilizadores conseguem contornar mais facilmente.
  • Defina expectativas com os primeiros utilizadores. Diga aos testadores beta e early adopters o que esperar. Uma breve notificação no seu anúncio de lançamento ("Pode ver um aviso SmartScreen na primeira execução — isto é normal em novas aplicações; clique em 'Mais informações' e depois em 'Executar assim mesmo'") evita confusão e instalações abandonadas.
  • Seja paciente. A reputação constrói-se organicamente com o volume de downloads. Não existe um processo de submissão manual para acelerar a sua implementação para endpoints de consumidor.

Reputação SmartScreen para Programadores explica o modelo completo de reputação, o que os utilizadores veem em cada fase e as considerações sobre políticas empresariais.

O que vem por aí

Depois de publicada a sua aplicação, pode:

  • Monitorize a saúde e as classificações das aplicações — O Partner Center fornece análises de falhas, avaliações dos utilizadores e gestão de avaliações para aplicações da Store
  • Gerir os lançamentos com lançamentos faseados — a Store suporta o lançamento de uma nova versão a uma percentagem de utilizadores antes do lançamento completo
  • Configurar telemetria — considere integrar um serviço de análise de falhas e uso como Aplicação Azure Insights ou outro SDK de análise para perceber como a sua aplicação é usada
  • Responder ao feedback dos utilizadores — O Centro de Parceiros destaca classificações na Loja; para aplicações de download direto, considere um canal de feedback (GitHub Issues, um endereço de email dedicado ou um fórum comunitário)