Skip to content

Conversation

@chatasweetie
Copy link
Contributor

I've fleshed out the guide of publishing to Store & WinGet for the first submission. It is still missing the automation of updates (not NEEDED but would be nice).

TODO for this PR:

  • Someone to review these steps to validate

@prmerger-automator
Copy link
Contributor

@chatasweetie : Thanks for your contribution! The author(s) and reviewer(s) have been notified to review your proposed change.

@learn-build-service-prod
Copy link
Contributor

Learn Build status updates of commit 79e4a30:

⚠️ Validation status: warnings

File Status Preview URL Details
hub/powertoys/command-palette/publish-extension.md ⚠️Warning Details

hub/powertoys/command-palette/publish-extension.md

  • Line 45, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/windows/apps/publish/partner-center/partner-center-developer-account' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 46, Column 68: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/windows/apps/design/style/iconography/visual-studio-asset-generation' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 37, Column 250: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/windows/apps/publish/' will be broken in isolated environments. Replace with a relative link.
  • Line 45, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/windows/apps/publish/partner-center/partner-center-developer-account' will be broken in isolated environments. Replace with a relative link.
  • Line 46, Column 68: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/windows/apps/design/style/iconography/visual-studio-asset-generation' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

Copy link
Contributor

@alvinashcraft alvinashcraft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some fixes to address the build warnings. I'll take a closer look at the contents of the tutorial tomorrow. Thanks for updating this!

@chatasweetie
Copy link
Contributor Author

Thanks @alvinashcraft Before you do, Zach is going to walk through it to make sure it's not missing anything

Copy link

@zateutsch zateutsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Microsoft store comments

…card and point microsoft store expected naming, updated $projectFile file path to be one repo lower due to single extension different structure than my multi extension
@learn-build-service-prod
Copy link
Contributor

Learn Build status updates of commit a3a9da7:

⚠️ Validation status: warnings

File Status Preview URL Details
hub/powertoys/command-palette/publish-extension.md ⚠️Warning Details
uwp/index.yml ⚠️Warning Details

hub/powertoys/command-palette/publish-extension.md

  • Line 45, Column 3: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/publish/partner-center/partner-center-developer-account'.
  • Line 46, Column 68: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/design/style/iconography/visual-studio-asset-generation'.

uwp/index.yml

  • Line 12, Column 18: [Warning: ms-service-subservice-invalid - See documentation] Invalid value for 'ms.subservice': 'uwp-conceptual-docs' is not valid with 'ms.service' value 'uwp'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@chatasweetie
Copy link
Contributor Author

@zadjii-msft
Here is the draft of publishing extensions

@learn-build-service-prod
Copy link
Contributor

Learn Build status updates of commit c2b1618:

⚠️ Validation status: warnings

File Status Preview URL Details
hub/powertoys/command-palette/publish-extension.md ⚠️Warning Details

hub/powertoys/command-palette/publish-extension.md

  • Line 45, Column 3: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/publish/partner-center/partner-center-developer-account'.
  • Line 46, Column 68: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/design/style/iconography/visual-studio-asset-generation'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

davidegiacometti pushed a commit to davidegiacometti/windows-dev-docs that referenced this pull request Nov 3, 2025
* WinAppSDK 1.8 Preview 1 - Release Notes

WinAppSDK 1.8 Preview 1 - Release Notes

* Update preview-channel.md

* Update preview-channel-1.7.md

* Update preview-channel-1.7.md

* rename

* Updates

* Update preview-channel.md

* Update release-channels.md

* Update downloads.md

---------

Co-authored-by: KB <[email protected]>
@learn-build-service-prod
Copy link
Contributor

Learn Build status updates of commit d9d9ce2:

⚠️ Validation status: warnings

File Status Preview URL Details
hub/powertoys/command-palette/publish-extension.md ⚠️Warning Details

hub/powertoys/command-palette/publish-extension.md

  • Line 45, Column 3: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/publish/partner-center/partner-center-developer-account'.
  • Line 46, Column 68: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/design/style/iconography/visual-studio-asset-generation'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@learn-build-service-prod
Copy link
Contributor

Learn Build status updates of commit 4411cc7:

⚠️ Validation status: warnings

File Status Preview URL Details
hub/powertoys/command-palette/publish-extension.md ⚠️Warning Details

hub/powertoys/command-palette/publish-extension.md

  • Line 45, Column 3: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/publish/partner-center/partner-center-developer-account'.
  • Line 46, Column 68: [Warning: file-not-found - See documentation] Invalid file link: '../../apps/design/style/iconography/visual-studio-asset-generation'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

Copy link
Contributor

@alvinashcraft alvinashcraft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran the changes through the Learn Authoring Assistant. These are the style guide suggestions it gave.

# Publish Command Palette extensions

The Command Palette provides a full extension model, allowing developers to create their own experiences for the palette. This document provides information about how to publish an extension.
This article provides instructions for Command Palette extensions that were created using the Command Palette template.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This article provides instructions for Command Palette extensions that were created using the Command Palette template.
This article provides instructions for Command Palette extensions that you create with the Command Palette template.

## Pre-requisites
## Microsoft Store

Command Palette extensions can be published to the Microsoft Store. The publishing process is similar to other apps or extensions. You create a new submission in Partner Center and upload your `.msix` package. Command Palette automatically discovers your extension when users install it from the Microsoft Store.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Command Palette extensions can be published to the Microsoft Store. The publishing process is similar to other apps or extensions. You create a new submission in Partner Center and upload your `.msix` package. Command Palette automatically discovers your extension when users install it from the Microsoft Store.
You can publish Command Palette extensions to the Microsoft Store. The publishing process is similar to other apps or extensions. You create a new submission in Partner Center and upload your `.msix` package. Command Palette automatically discovers your extension when users install it from the Microsoft Store.

### Set up Microsoft Store

1. Navigate to the [Microsoft Partner Center](https://partner.microsoft.com/dashboard/home).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Navigate to the [Microsoft Partner Center](https://partner.microsoft.com/dashboard/home).
1. Go to the [Microsoft Partner Center](https://partner.microsoft.com/dashboard/home).

1. Under **Workspaces**, select **Apps and games**.
1. Select **+ New Product**.
1. Select **MSIX or PWA app**.
1. Create a name or reserve a product name.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Create a name or reserve a product name.
1. Create or reserve a product name.

> - **Package/Identity/Publisher**: `_________________`
> - **Package/Properties/PublisherDisplayName**: `_________________`
>
> You'll use these exact values in the code examples below.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> You'll use these exact values in the code examples below.
> Use these exact values in the code examples.

1. Update the placeholders in `release-extension.yml`:
1. git commit the 3 new files: `build-exe.ps1`, `setup.iss`,`release-extension.yml`
1. Push changes to Github.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Push changes to Github.
1. Push changes to GitHub.

### WinGet submission

> [!IMPORTANT]
> The first submission must be manual. `wingetcreate new` requires interactive input for package details
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> The first submission must be manual. `wingetcreate new` requires interactive input for package details
> You must manually submit the first version. `wingetcreate new` requires interactive input for package details.

> [!TIP]
> To get the GitHub Release URL: Go to your release page, under **Assets**, right-click the `.exe` file and select "Copy link address".

1. When `wingetcreate` prompts you, press **Enter** if the suggested response is pulled from the EXE file, for example: `PackageIdentifier`, `PackageVersion`, `Publisher`, etc.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. When `wingetcreate` prompts you, press **Enter** if the suggested response is pulled from the EXE file, for example: `PackageIdentifier`, `PackageVersion`, `Publisher`, etc.
1. When `wingetcreate` prompts you, press **Enter** if the suggested response is pulled from the EXE file, for example: `PackageIdentifier`, `PackageVersion`, `Publisher`, and so on.

- **Final submission question**:
- "Would you like to submit your manifest to the Windows Package Manager repository?" → **Yes**

After answering "Yes" to submit:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
After answering "Yes" to submit:
After you answer "Yes" to submit:

- Opens a pull request automatically
- Provides the PR URL for tracking

After submitting your pull request, the WinGet team will review your manifest for compliance and accuracy. You can monitor the PR status on GitHub and respond to any feedback from reviewers. Once approved and merged, your extension will be available through WinGet within a few hours.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
After submitting your pull request, the WinGet team will review your manifest for compliance and accuracy. You can monitor the PR status on GitHub and respond to any feedback from reviewers. Once approved and merged, your extension will be available through WinGet within a few hours.
After you submit your pull request, the WinGet team reviews your manifest for compliance and accuracy. You can monitor the PR status on GitHub and respond to any feedback from reviewers. Once approved and merged, your extension is available through WinGet within a few hours.

Copy link
Contributor

@alvinashcraft alvinashcraft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran the changes through the Learn Authoring Assistant. These are the style guide suggestions it gave.

### Prepare the extension

1. In your IDE, open `<ExtensionName>\Package.appxmanifest`.
1. Replace the values with the information you copied from Partner Center:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this what Visual Studio does when right-clicking on your project and clicking "Associcate with Store"?

If so, I'd push this flow as it's much easier to go through vs manually copying stuff?

> **MSIX packages explained**
> MSIX is Microsoft's modern app packaging format that provides secure installation, automatic updates, and clean uninstallation. It replaces older formats like MSI and ensures your extension integrates properly with Windows security and deployment features.
Command Palette can't search for or install extensions that are only listed in the store. You can find those extensions by running the following command:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Command Palette can't search for or install extensions that are only listed in the store. You can find those extensions by running the following command:
Command Palette can't search for or install extensions that are only listed in the Store. You can find those extensions by running the following command:


> [!NOTE]
> **MSIX packages explained**
> MSIX is Microsoft's modern app packaging format that provides secure installation, automatic updates, and clean uninstallation. It replaces older formats like MSI and ensures your extension integrates properly with Windows security and deployment features.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to MSIX docs-hub?

## Guide to WinGet publishing

<!--
Publishing to WinGet is the recommended distribution method for Command Palette extensions as it enables automatic discovery and installation directly within Command Palette. This guide covers the majority of the WinGet publication process, from preparing your project and creating build scripts to setting up GitHub Actions automation and submitting your first package manifest. You'll learn how to create installer packages, configure automated builds, and navigate the WinGet submission workflow to make your extension easily discoverable and installable for users.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it the recommended distribution method (long term)? @zadjii-msft ?

1. Locate the MSIX files:

```powershell
dir AppPackages -Recurse -Filter "*.msix"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit] some PWSH fragments use ls, some dir


```xml
<Identity
Name="YOUR_PACKAGE_IDENTITY_NAME_HERE" <!-- Replace with your Package/Identity/Name -->

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is invalid HTML syntax (HTML comment inside an HTML tag), which could disrupt syntax highlighting. I'm not sure if it affects MS Learn, but it definitely causes issues in GitHub.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants