Publicera din första Windows app

Du har skapat en WPF-, WinForms- eller WinUI 3-app – nu måste du få den i användarnas händer. Den här guiden går igenom den fullständiga sökvägen från en färdig version till en publicerad app och beskriver de två vanligaste distributionsscenarierna: publicering till Microsoft Store (rekommenderas) och konfiguration av direct download distribution.

Tips/Råd

Microsoft Store är den rekommenderade sökvägen för de flesta utvecklare. Den hanterar kodsignering, uppdateringsleverans och identifiering – och det är det lägsta friktionssättet för att nå Windows användare. Direktnedladdning är rätt val när du har specifika krav för kommersiell, företags- eller distribution som Store inte passar.

Steg 1: Välj distributionssökväg

Din distributionssökväg avgör dina kostnader för kodsignering, uppdateringsmekanik, hur användare identifierar din app och hur företag kan distribuera den.

Välj en distributionssökväg för din Windows app har en fullständig jämförelse. Sammanfattningsvis:

  • Microsoft Store – rekommenderas för de flesta appar. Kostnadsfri signering, inbyggda uppdateringar, hög synlighet och en pålitlig installationsupplevelse. Kräver ett kostnadsfritt utvecklarkonto – registrera dig på storedeveloper.microsoft.com.
  • Direkt nedladdning – lämplig för kommersiella ISV:er med egen butik, företagsspecifika appar eller appar med innehåll som Store inte tillåter. Du ansvarar för signering, värd och uppdateringar.

De flesta nya indieappar passar bra för Store. Om du är osäker börjar du där.

Steg 2: Konfigurera kodsignering

Om du publicerar ett MSIX-paket till Microsoft Store: hoppa över det här steget. Microsoft signerar om paketet automatiskt som en del av certifieringsprocessen.

Om du skickar ett Win32 MSI/EXE-installationsprogram till Microsoft Store: måste du fortfarande signera installationsprogrammet innan det skickas in. Installationsprogrammet och dess PE-filer måste signeras med en certifikatlänkning till en certifikatutfärdare i Microsoft Trusted Root Program. Självsignerade certifikat är inte acceptabla. Se Krav för apppaket för MSI/EXE.

Om du distribuerar direkt: du behöver ett certifikat för betrodd kodsignering. Osignerade appar och självsignerade appar utlöser starka SmartScreen-varningar, och vissa företagsmiljöer blockerar dem helt.

Code-signeringsalternativ för Windows apputvecklare har en fullständig jämförelse. Snabbvägledning:

  • Organisationer i USA, Kanada, EU eller Storbritannien / Individer i USA eller Kanada:Azure Artifact Signing (tidigare Trusted Signing) — ungefär 9,99 USD/månad, ingen maskinvarutoken krävs, integreras med CI/CD-pipelines. Detta är Microsofts rekommenderade alternativ för distribution utanför Store.
  • Individual-utvecklare utanför USA/Kanada, eller någon som inte är berättigad till Azure Artifact Signing: Ett OV-certifikat från en certifikatutfärdare som DigiCert eller Sectigo – vanligtvis 150–300 USD per år.

Anmärkning

Signera din app krävs för en bra första startupplevelse. En ny signerad app visar fortfarande en SmartScreen-varning tills den skapar rykte – men varningen är mycket mindre allvarlig än för osignerade appar. Se SmartScreen-rykte för utvecklare för att förstå vad dina tidiga användare kommer att se.

Steg 3: Paketera din app

Hur du paketar din app beror på vilket appramverk du använde.

WinUI 3

WinUI 3-appar som skapats med Windows App SDK projektmallar redan paketeras som MSIX som standard. När du skapar din lösning i Visual Studio är utdata en .msix-fil eller en .msixbundle-fil som är redo för butikslämning eller direktdistribution.

Om du vill distribuera en uppackad WinUI 3-app (utan MSIX-paketering) läser du Distribuera en uppackad WinUI 3-app. Observera att opaketerade WinUI 3-appar inte kan skapa en enda EXE-fil och kräver Windows App SDK körningsmiljö på användarens dator (antingen installeras separat via installationsprogrammet för körningsmiljön eller paketeras med en självständig distribution).

WPF och WinForms

WPF- och WinForms-projekt producerar inte MSIX som standard. Du har några alternativ:

Alternativ A: Windows Application Packaging Project (MSIX)
Lägg till ett Windows-applikationspaketeringsprojekt till din lösning i Visual Studio. Detta omsluter din app i ett MSIX-paket, vilket ger dig paketidentitet, Store-berättigande och appinstallationsbaserade uppdateringar. Det här är den rekommenderade metoden för insändning till butik.

Paketera din skrivbordsapp med ett enskilt projekt MSIX

Alternativ B: dotnet publish (fristående EXE)
För direktnedladdningsdistribution genererar dotnet publish med --self-contained en fristående EXE som innehåller .NET-körning – användarna behöver inte installera .NET separat.

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

Detta skapar en mapp med filer som lämpar sig för zippa och distribuera, eller omsluta i ett installationsprogram. Det är inte direkt Butiksberättigat.

Alternativ C: Ramverksberoende publicering
Utelämna --self-contained om du är bekväm med att kräva att användarna har rätt .NET körtid installerade. Utdata är mindre men har en beroende vid körning.

Processen för att skicka store körs via Partnercenter.

Steg i korthet:

  1. Skapa ett utvecklarkonto – kostnadsfritt. Registrera dig på storedeveloper.microsoft.com. Kontot är permanent.
  2. Reservera ditt appnamn – Gör anspråk på appens namn i Partner Center innan du skickar in. Namnet är reserverat för dig under utvecklingsfasen.
  3. Skapa och paketera din app – Skapa ett MSIX-paket som uppfyller store-kraven. För Store-inlämningar behöver MSIX/AppX-paket inte någon CA-betrodd signatur – Microsoft signerar om paketet med ett Microsoft certifikat efter certifieringen. Om du distribuerar utanför Store med hjälp av ett MSI- eller EXE-installationsprogram rekommenderas och förväntas Authenticode-signering av Windows säkerhetsfunktioner.
  4. Skapa din inlämning – Ladda upp paketet, ange information om butikslistor (beskrivning, skärmbilder, kategorier, åldersklassificering) och ange priser.
  5. Certification – Microsoft granskar din app för principefterlevnad. Certifieringen tar vanligtvis några arbetsdagar för nya appar.
  6. Publicera – När appen har certifierats visas den i Store och är tillgänglig för användare.

Skapa din appinlämning
Krav för apppaket

Steg 4b: Distribuera direkt (alternativ sökväg)

Om du distribuerar din app utanför Store har du flera paketerings- och värdalternativ.

MSIX med App Installer (.appinstaller)

MSIX-paket som distribueras med en tillhörande .appinstaller fil stöder automatiska uppdateringskontroller. När användarna installerar appen från filen .appinstaller kontrollerar Windows regelbundet url:en som du anger för en nyare version och erbjudanden om uppdatering.

Viktigt!

URI-protokollet ms-appinstaller (som tillåter installation direkt från en webblänk) är inaktiverat som standard sedan december 2023 på grund av säkerhetsproblem. Användarna måste ladda ned .appinstaller filen eller .msix och öppna den manuellt.
Aktuell status för distributionsfunktioner

ClickOnce (WPF och WinForms)

ClickOnce är en .NET distributionsteknik inbyggd i Visual Studio som stöder automatiska uppdateringar för WPF- och WinForms-appar. Användare installerar från ett värdbaserat manifest och ClickOnce hanterar uppdateringskontroller transparent.

ClickOnce stöds inte för WinUI 3-appar – använd MSIX med .appinstaller i stället.

ClickOnce-säkerhet och distribution

EXE-installationsprogram

Ett traditionellt EXE-installationsprogram som skapats med ett verktyg som WiX Toolset eller Inno Setup är bekant för användarna och enkelt att producera. Det här är väletablerade communityverktyg som används av många Windows program. Observera att EXE-installationsprogram kräver att du implementerar din egen uppdateringsmekanism.

Tillhandahållande av nedladdningen

Vanliga värdalternativ för direkt nedladdning:

  • GitHub Releases – kostnadsfritt, versionshanterat och integreras väl med automatiserade byggpipelines. Passar för appar med öppen källkod och små kommersiella appar.
  • Din egen webbplats – fullständig kontroll över nedladdningssidan, analys och betalningsflöde. Du behöver tillförlitlig lagring och CDN-kapacitet om din app växer.
  • Butiker från tredje part – vissa utvecklare distribuerar genom försäljningsplattformar, till exempel itch.io för appar relaterade till spel.

winget för upptäckbarhet

Om du skickar din app till Windows Správca balíkov Community Repository kan appen installeras via winget install. Detta värderas särskilt av utvecklare och power-user-målgrupper som föredrar kommandoradsverktyg. Inlämning är en pull-begäran mot communityns manifestlagringsplats och är kostnadsfri.

Steg 5: Konfigurera automatisk uppdatering

Att hålla användarna på den senaste versionen minskar supportbördan och säkerställer att säkerhetskorrigeringar når dem snabbt.

Distributionssökväg Uppdateringsmekanism
Microsoft Store (MSIX) Automatisk – Store levererar uppdateringar i bakgrunden
Microsoft Store (MSI/EXE-installationsprogram) Manuell – appen eller installationsprogrammet hanterar uppdateringar. Store push-överför inte uppdateringar till befintliga användare
MSIX + .appinstaller Inbyggt – Windows kontrollerar url:en som du anger enligt ett schema
ClickOnce Inbyggt – söker efter uppdateringar vid start
EXE-installationsprogram eller fristående EXE Manuellt genomförande krävs

För EXE- eller fristående distributioner utan inbyggd uppdateringsmekanism är Velopack ett communityverktyg som lägger till funktioner för automatisk uppdatering och installation av .NET appar. Det är inte en Microsoft produkt – utvärdera den baserat på dina egna krav.

Steg 6: Hantera SmartScreen för nya appar

Varje ny app – oavsett hur väl den är signerad – utlöser en SmartScreen-varning vid den första nedladdningen tills den ackumulerar tillräckligt med nedladdningshistorik. Detta är förväntat och normalt. Så här hanterar du det väl:

  • Signera varje version. Osignerade appar visar ett allvarligare block med meddelandet "Windows har skyddat din dator". Signerade appar visar en mjukare varning för "okända appar", som användare lättare kan kringgå.
  • Ställ in förväntningar med tidiga användare. Berätta för betatestare och tidiga användare vad de kan förvänta sig. En kort kommentar i ditt lanseringsmeddelande ("Du kan se en SmartScreen-fråga vid första körningen – detta är normalt för nya appar; klicka på "Mer information" och sedan "Kör ändå") förhindrar förvirring och övergivna installationer.
  • Ha tålamod. Ryktet byggs upp organiskt med nedladdningsvolymen. Det finns ingen manuell inlämningsprocess för att påskynda det för konsumentslutpunkter.

SmartScreen-rykte för utvecklare förklarar den fullständiga ryktesmodellen, vad användarna ser i varje steg och överväganden för företagsprinciper.

Vad händer härnäst?

När appen har publicerats kan du:

  • Övervaka appens hälsa och klassificeringar – Partnercenter tillhandahåller kraschanalys, användarklassificeringar och granskningshantering för Store-appar
  • Hantera versioner med stegvisa distributioner – Store stöder distribution av en ny version till en procentandel användare före en fullständig version
  • Set up telemetry – överväg att integrera en tjänst för krasch- och användningsanalys som Azure Application Insights eller någon annan analys-SDK för att förstå hur din app används
  • Svara på användarfeedback – Partner Center visar butiksrecensioner; för appar som hämtas direkt kan du överväga en feedbackkanal (GitHub-ärenden, en dedikerad e-postadress eller ett communityforum)