Labsco
microsoft logo

publish-extension

โœ“ Officialโ˜… 136,050

by microsoft ยท part of microsoft/powertoys

Publish your Command Palette extension to the Microsoft Store or WinGet. Use when asked to publish, distribute, release, deploy to store, create MSIX packages, submit to WinGet, set up CI/CD for releases, or automate builds with GitHub Actions.

๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup
๐Ÿงฐ Not standalone. This skill ships with microsoft/powertoys and only works together with that tool โ€” install the tool first, then add this skill.

This is the playbook your agent receives when the skill activates โ€” you don't need to read it to use the skill, but it's here to audit before installing.

Publish Your Command Palette Extension

Guide for distributing your Command Palette extension through the Microsoft Store, WinGet, or both.

When to Use This Skill

  • Publishing your extension to the Microsoft Store
  • Submitting your extension to WinGet for winget install discovery
  • Setting up GitHub Actions to automate builds and releases
  • Creating MSIX packages for Store submission
  • Creating EXE installers for WinGet submission

Publishing Options

ChannelPackage FormatDiscoveryAuto-Updates
Microsoft StoreMSIX bundleStore app, ms-windows-store:// linkYes
WinGetEXE installerwinget install, CmdPal browseYes (via manifest)

Recommendation: Publish to both for maximum reach. WinGet enables direct discovery from within Command Palette.

Workflows

Microsoft Store Publishing

See store-publishing.md for the complete step-by-step guide.

Summary:

  1. Register for Partner Center
  2. Update Package.appxmanifest and .csproj with Partner Center identity
  3. Build MSIX for x64 and ARM64
  4. Create MSIX bundle
  5. Submit to Partner Center

WinGet Publishing

See winget-publishing.md for the complete step-by-step guide.

Summary:

  1. Switch project to unpackaged mode
  2. Create Inno Setup installer script
  3. Build EXE installers
  4. Submit manifest via wingetcreate new
  5. Optionally automate with GitHub Actions

Important Notes

  • Your extension's CLSID (the [Guid("...")] in your main .cs file) must be unique and consistent across all files
  • WinGet manifests must include the windows-commandpalette-extension tag for CmdPal discovery
  • MSIX packages require both x64 and ARM64 builds for Store submission
  • WindowsAppSdk must be listed as a dependency in WinGet manifests