Publish your Windows App SDK app
Prerequisites
- Windows 10 version 1809 (build 17763) or later
- Windows App SDK 1.4 or later installed
- MSIX Packaging Tool (download)
- Microsoft Partner Center account for Store submissions
Publishing to Microsoft Store
Follow these steps to submit your app to the Microsoft Store.
- Create a package using the
makeappx
tool or Visual Studio. - Sign the package with your code‑signing certificate.
- Validate the package with the MSIX Packaging Tool.
- Upload the package in Partner Center.
- Complete the Store listings and submit for certification.
Command‑line example
# Build the app
dotnet publish -c Release -f net8.0-windows10.0.19041.0
# Create the MSIX package
MakeAppx pack /d .\bin\Release\net8.0-windows10.0.19041.0\publish /p MyApp.msix
# Sign the package
SignTool sign /fd SHA256 /a /f MyCert.pfx /p MyPassword MyApp.msix
Continuous Integration / Continuous Deployment (CI/CD)
Automate your build and release pipeline with GitHub Actions or Azure DevOps.
GitHub Actions workflow snippet
name: Build & Publish
on:
push:
branches: [ main ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.x"
- name: Restore & Build
run: dotnet build -c Release
- name: Pack MSIX
run: |
dotnet publish -c Release -f net8.0-windows10.0.19041.0
MakeAppx pack /d .\bin\Release\net8.0-windows10.0.19041.0\publish /p MyApp.msix
- name: Sign package
uses: microsoft/secure-signing@v2
with:
certificate-name: MyCert
input-file: MyApp.msix
- name: Upload to Store
uses: microsoft/store-publish-action@v1
with:
package-path: MyApp.msix
tenant-id: ${{ secrets.TENANT_ID }}
client-id: ${{ secrets.CLIENT_ID }}
client-secret: ${{ secrets.CLIENT_SECRET }}
Frequently Asked Questions
- Can I publish a WinUI 3 app without MSIX?
- Microsoft Store submissions require MSIX. For side‑loading you can use an
.exe
installer, but you lose Store benefits. - Do I need a separate signing certificate for each app?
- No, you can reuse a code‑signing certificate across multiple apps, as long as it’s trusted by Windows.
- How do I test my package before publishing?
- Use the MSIX Packaging Tool to run validation and install the package on a test machine.