# Publishing: Microsoft Store & WinGet This extension can ship through both channels: | Channel | Artifact | Script / workflow | |---------|----------|-------------------| | Microsoft Store | `.msixbundle` | `HTTPS_Response_Codes_Extension\build-msix.ps1` | | WinGet / CmdPal browse | Inno Setup `.exe` | `HTTPS_Response_Codes_Extension\build-exe.ps1` or **Release Extension** GitHub Action | Identity values (must stay in sync): | Field | Value | |-------|--------| | Package identity name | `JakeScott.HTTPSResponseCodesExtension` | | Publisher | `CN=A519B659-ED57-43B1-8525-0358CED8D6F5` | | Publisher display name | `Jake Scott` | | CLSID | `{db59be70-6a1f-4fc5-a97b-23fec7fcbadf}` | | WinGet PackageIdentifier | `JakeScott.HTTPSResponseCodesExtension` | | Version property | `AppxPackageVersion` in `.csproj` **and** `Identity Version` in `Package.appxmanifest` | > If Partner Center shows different Package/Identity values after you reserve the Store name, update `Package.appxmanifest` and the `AppxPackage*` properties in the `.csproj` to match **exactly**. --- ## Microsoft Store ### 1. Partner Center product 1. Open [Partner Center](https://partner.microsoft.com/dashboard/home) 2. **Apps and Games** → **New product** → **MSIX or PWA app** 3. Reserve a name (e.g. `HTTP Status Codes for Command Palette`) 4. **Product Management** → **Product Identity** — confirm Name / Publisher / PublisherDisplayName match this repo ### 2. Build the bundle ```powershell cd HTTPS_Response_Codes_Extension .\build-msix.ps1 -Version 0.0.8.0 ``` Output: `AppPackages\HTTPSResponseCodesExtension_0.0.8.0_Bundle.msixbundle` ### 3. Submission tips - **Packages**: upload the `.msixbundle` - **Description**: mention Command Palette / PowerToys - **Notes for certification**: > Requires Microsoft PowerToys (or standalone Command Palette) with Command Palette enabled. > 1. Install PowerToys and enable Command Palette > 2. Install this extension > 3. Open Command Palette (Win+Alt+Space) > 4. Search for “HTTP Status Codes”, or type `404` on the home screen - Provide Store logos/screenshots as required - Add a privacy policy URL if Partner Center asks (MDN links open in the browser) ### 4. Updates 1. Bump `AppxPackageVersion` and `Package.appxmanifest` `Identity Version` 2. Rebuild with `build-msix.ps1` 3. New Partner Center submission with the new bundle --- ## WinGet (CmdPal browse discovery) WinGet community packages need the `windows-commandpalette-extension` tag so Command Palette’s browse UI can find them. ### 1. Build installers locally (optional) Requires [Inno Setup](https://jrsoftware.org/isdl.php) (`winget install JRSoftware.InnoSetup`): ```powershell cd HTTPS_Response_Codes_Extension .\build-exe.ps1 -Version 0.0.8.0 ``` Installers land in `HTTPS_Response_Codes_Extension\bin\Release\installer\`. ### 2. GitHub Release (recommended) 1. Push your changes 2. GitHub → **Actions** → **Release Extension** → **Run workflow** 3. Optionally set version / release notes 4. Copy the two asset URLs from the new release (`*-x64.exe` and `*-arm64.exe`) ### 3. First-time WinGet submission ```powershell winget install Microsoft.WingetCreate wingetcreate new "" "" ``` Suggested answers: | Prompt | Value | |--------|--------| | PackageIdentifier | `JakeScott.HTTPSResponseCodesExtension` | | PackageVersion | `0.0.8.0` | | Publisher | `Jake Scott` | | PackageName | `HTTP Status Codes for Command Palette` | | License | `MIT` | | ShortDescription | `Look up HTTP response status codes from Command Palette` | ### 4. Required manifest edits (before merge) In every `*.locale.*.yaml` file: ```yaml Tags: - windows-commandpalette-extension ``` In the installer manifest, declare Windows App Runtime 2.0 (matches `Microsoft.WindowsAppSDK` 2.0.x in this repo): ```yaml Dependencies: PackageDependencies: - PackageIdentifier: Microsoft.WindowsAppRuntime.2.0 ``` Validate: ```powershell winget validate --manifest ``` ### 5. Later releases ```powershell wingetcreate update JakeScott.HTTPSResponseCodesExtension ` --version "0.0.9.0" ` --urls "" "" ` --submit ` --token ``` Optional automation: add a `WINGET_PAT` repo secret and a follow-up job that runs `wingetcreate update` after each release. --- ## Version bump checklist - [ ] `HTTPS_Response_Codes_Extension\HTTPSResponseCodesExtension.csproj` → `AppxPackageVersion` - [ ] `HTTPS_Response_Codes_Extension\Package.appxmanifest` → `Identity Version` - [ ] `HTTPS_Response_Codes_Extension\setup-template.iss` → `#define AppVersion` (build-exe also overrides this) - [ ] Store: `.\build-msix.ps1 -Version …` - [ ] WinGet: release workflow or `.\build-exe.ps1 -Version …`, then `wingetcreate`