Skip to content

Update Add-ons documentation (Submit your app) #5465

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 13 commits into
base: docs
Choose a base branch
from
306 changes: 306 additions & 0 deletions hub/apps/publish/best-practices/best-practices.md

Large diffs are not rendered by default.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ms.localizationpriority: medium

# The app certification process for add-on

When you finish creating your app's submission and click **Submit to the Store**, the submission enters the certification step. This process usually is completed within a few hours, though in some cases it may take up to three business days. After your submission passes certification, it can take up to 24 hours for customers to see the app’s listing for a new submission, or for an updated submission with changes to packages. If your update only changes Store listing details, the publishing process will be completed in less than an hour. You'll be notified when your submission is published, and the app's status in the dashboard will be **In the Store**.
When you finish creating your app's submission and click **Submit to the Store**, the submission enters the certification step. This process is usually completed within a few hours, though in some cases it may take up to three business days. After your submission passes certification, it can take up to 24 hours for customers to see the app’s listing for a new submission, or for an updated submission with packages changes. If you update only changes Store listing details, the publishing process will be completed in less than an hour. You'll be notified when your submission is published, and the app's status in the dashboard will be **In the Store**.

## Preprocessing

Expand All @@ -22,28 +22,28 @@ During this phase, several tests are conducted:
- **Technical compliance tests:** Technical compliance is tested by the Windows App Certification Kit. (You should always make sure to [test your app with the Windows App Certification Kit](/windows/uwp/debug-test-perf/windows-app-certification-kit) before you submit it to the Store.)
- **Content compliance:** The amount of time this takes varies depending on how complex your app is, how much visual content it has, and how many apps have been submitted recently. Be sure to provide any info that testers should be aware of in the [Notes for certification](./manage-submission-options.md#notes-for-certification) page.

After the certification process is complete, you'll get a certification report telling you whether or not your app passed certification. If it didn't pass, the report will indicate which test failed or which [policy](../../store-policies.md) was not met. After you fix the problem, you can create a new submission for your app to start the certification process again.
After the certification process is complete, you'll get a certification report telling you whether or not your app passed certification. If it didn't pass, the report will indicate which test failed or which [policy](../../store-policies.md) was not met. Once you fix the problem, you can create a new submission for your app and start the certification process again.

## Release

When your app passes certification, it's ready to move to the **Publishing** process.

- If you've indicated that your submission should be published as soon as possible (the default option), the publishing process will begin right away.
- If this is the first time you've published the app, and you specified a **Release date** in the [Schedule](./schedule-pricing-changes.md#configure-precise-release-scheduling) section, the app will become available according to your **Release date** selections.
- If this is the first time you've published the app, and you specified a **Release date** in the [Schedule](./configure-release-schedule.md#configure-precise-release-scheduling) section, the app will become available according to your **Release date** selections.
- If you've used [Publishing hold options](./manage-submission-options.md#publishing-hold-options) to specify that it should not be released until a certain date, we'll wait until that date to begin the publishing process, unless you select **Change release date**.
- If you've used [Publishing hold options](./manage-submission-options.md#publishing-hold-options) to specify that you want to publish the submission manually, we won't start the publishing process until you select **Publish now** (or select **Change release date** and pick a specific date).

## Publishing

Your app's packages are digitally signed to protect them against tampering after they have been released. Once this phase has begun, you can no longer cancel your submission or change its release date.

For new apps and updates which include changes to the app's packages, the publishing process will be completed within 24 hours. For updates that only change options such as Store listing details, but don't change the app's packages, the publishing process will take less than one hour.
For new apps and updates that include changes to the app's packages, the publishing process will be completed within 24 hours. For updates that only change options such as Store listing details, but don't change the app's packages, the publishing process will take less than one hour.

While your app is in the publishing phase, the **Show details** link in the Status column for your app’s submission lets you know when your new packages and Store listing details are available to customers on each of your supported OS versions. Steps that have not yet completed will show **Pending**. Your app will remain in the publishing phase until the process has completed, meaning that the new packages and/or listing details are available to all of your app’s potential customers.

## In the Store

After successfully going through the steps above, the submission's status will change from **Publishing** to **In the Store**. Your submission will then be available in the Microsoft Store for customers to download (unless you have chosen another [Discoverability](./visibility-options.md#discoverability) option).
After successfully completing the steps above, the submission's status will change from **Publishing** to **In the Store**. Your submission will then be available in the Microsoft Store for customers to download (unless you have chosen another [Discoverability](./visibility-options.md#discoverability) option).

> [!NOTE]
> We also conduct spot checks of apps after they've been published so we can identify potential problems and ensure that your app complies with all of the [Microsoft Store Policies](../../store-policies.md). If we find any problems, you'll be notified about the issue and how to fix it, if applicable, or if it has been removed from the Store.
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
description: Learn how to configure precise release scheduling for your app add-on in the Microsoft Store, including setting release and stop acquisition dates for specific markets.
title: Configure precise release scheduling
ms.date: 6/5/2025
ms.topic: article
ms.localizationpriority: medium
---

# Configure precise release scheduling

The **Schedule** section on the [Pricing and availability](./price-and-availability.md) page lets you set the precise date and time that your app should become available in the Store, giving you greater flexibility and the ability to customize dates for different markets.

:::image type="content" source="../msix/images/msix-precise-release-scheduling.png" lightbox="../msix/images/msix-precise-release-scheduling.png" alt-text="A screenshot of the Pricing and availability section showing precise release scheduling options.":::

> [!NOTE]
> Although this topic refers to apps, release scheduling for add-on submissions uses the same process.
> You can additionally opt to set a date when the product should no longer be available in the Store. Note that this means that the product can no longer be found in the Store via searching or browsing, but any customer with a direct link can see the product's Store listing. They can only download it if they already own the product or if they have a [promotional code](../../generate-promotional-codes.md) and are using a Windows 10 or Windows 11 device.

By default (unless you have selected one of the **Make this app available but not discoverable in the Store** options in the [Visibility](./visibility-options.md#discoverability) section), your app will be available to customers as soon as it passes certification and complete the publishing process. To choose other dates, select **Show options** to expand this section.

Note that you won't be able to configure dates in the **Schedule** section if you have selected one of the **Make this app available but not discoverable in the Store** options in the [Visibility](./visibility-options.md#discoverability) section, because your app won't be released to customers, so there is no release date to configure.

> [!IMPORTANT]
> The dates you specify in the Schedule section only apply to customers on Windows 10 and Windows 11.
>
> If your previously-published app supports earlier OS versions, any **Stop acquisition** date you select will not apply to those customers; they will still be able to acquire the app (unless you submit an update with a new selection in the [Visibility](./visibility-options.md#discoverability) section, or if you select **Make app unavailable** from the **App overview** page).

## Base schedule

Selections you make for the Base schedule will apply to all markets in which your app is available, unless you later add dates for specific markets (or market groups) by selecting [Customize for specific markets](#customize-the-schedule-for-specific-markets).

You’ll see two options here: **Release** and **Stop acquisition**.

## Release

In the **Release** drop-down, you can set when you want your app to be available in the Store. This means that the app is discoverable in the Store via searching or browsing, and that customers can view its Store listing and acquire the app.

> [!NOTE]
> After your app has been published and has become available in the Store, you will no longer be able to select a **Release** date (since the app will already have been released).
> Here are the options you can configure for a product’s **Release** schedule:

- **as soon as possible**: The product will release as soon as it is certified and published. This is the default option.
- **at**: The product will release on the date and time that you select. You additionally have two options:
- **UTC**: The time you select will be Universal Coordinated Time (UTC) time, so that the app releases at the same time everywhere.
- **Local**: The time you select will be the used in each time zone associated with a market. (Note that for markets that include more than one time zone, only one time zone in that market will be used. For the United States, the Eastern time zone is used. A comprehensive list of time zones is shown further down this page.)

## Stop acquisition

In the **Stop acquisition** dropdown, you can set a date and time when you want to stop allowing new customers to acquire it from the Store or discover its listing. This can be useful if you want to precisely control when an app will no longer be offered to new customers, such as when you are coordinating availability between more than one of your apps.

By default, **Stop acquisition** is set to never. To change this, select **at** in the drop-down and specify a date and time, as described above. At the date and time you select, customers will no longer be able to acquire the app.

It's important to understand that this option has the same impact as selecting **Make this app discoverable but not available** in the [Visibility](./visibility-options.md#discoverability) section and choosing **Stop acquisition: Any customer with a direct link can see the product’s Store listing, but they can only download it if they owned the product before, or have a promotional code and are using a Windows 10 or Windows 11 device.** To completely stop offering an app to new customers, click **Make app unavailable** from the App overview page. For more info, see [Removing an app from the Store](../msix/app-package-management.md#removing-an-app-from-the-store).

> [!TIP]
> If you select a date to **Stop acquisition**, and later decide you'd like to make the app available again, you can create a new submission and change **Stop acquisition** back to **Never**. The app will become available again after your updated submission is published.

## Customize the schedule for specific markets

By default, the options you select above will apply to all markets in which your app is offered. To customize the price for specific markets, click **Customize for specific markets**. The **Market selection** pop-up window will appear, listing all of the markets in which you’ve chosen to make your app available. If you excluded any markets in the [Markets](./market-selection.md) section, those markets will not be shown.

To add a schedule for one market, select it and click **Create**. You’ll then see the same **Release** and **Stop acquisition** options described above, but the selections you make will only apply to that market.

To add a schedule that will apply to multiple markets, you’ll create a _market group_. To do so, select the markets you wish to include, then enter a name for the group. (This name is for your reference only and won’t be visible to any customers.) For example, if you want to create a market group for North America, you can select **Canada**, **Mexico**, and **United States**, and name it **North America** or another name that you choose. When you’re finished creating your market group, click **Create**. You’ll then see the same **Release** and **Stop acquisition** options described above, but the selections you make will only apply to that market group.

To add a custom schedule for an additional market, or an additional market group, just click **Customize for specific markets** again and repeat these steps. To change the markets included in a market group, select its name. To remove the custom schedule for a market group (or individual market), click **Remove**.

> [!NOTE]
> A market can’t belong to more than one of the market groups you use in the **Schedule** section.

> [!TIP]
> For more information about **Global Time Zones** you can see the [table](../../best-practices/best-practices.md#global-time-zones) in the best practices section.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ms.localizationpriority: medium

# Create add-on store listings

When submitting an add-on in [Partner Center](https://partner.microsoft.com/dashboard), the info you provide in the **Store listings** step will be displayed to your customers when they see the option to acquire your add-on. Make sure to consider the Store listing info carefully in order to represent your add-on accurately in a way that makes it appealing to customers. You can provide customized Store listings for different languages.
When submitting an add-on in [Partner Center](https://partner.microsoft.com/dashboard), the info you provide in the **Store listings** step will be displayed to your customers when they see the option to acquire your add-on. Be sure to consider the Store listing info carefully in order to represent your add-on accurately in a way that makes it appealing to customers. You can provide customized Store listings in different languages.

> [!TIP]
> You can also [import and export Store listings](./import-and-export-store-listings.md) for your add-on if you'd like to enter your listing info offline in a .csv file, rather than providing this info directly in Partner Center. This may be especially convenient when creating listings in many languages. However, you can always enter your info directly in [Partner Center](https://partner.microsoft.com/dashboard) rather than using the import/export feature.
Expand All @@ -22,3 +22,19 @@ Under the **Store listing** section of your add-on's submission, click **Add/rem
To remove a language, click **Remove** (or click **Manage languages** and uncheck the box for languages you’d like to remove).

When you have finished making your selections, click **Save** to return to the submission overview page.

## Add and edit Store listing info for add-on

To edit a Store listing, click the language name from the add-on submission overview page. The info you can enter for each language is described below.

### Product name

You must provide a title here, which is the name your customers will see for this add-on. Your title can be up to 100 characters.

### Description

You must provide a description, up to 200 characters. This information will be displayed to customers along with the title.

### Icon
Copy link
Contributor

Choose a reason for hiding this comment

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

I like that we have added this. Why have we excluded the other parameters like what's new, etc.?

Copy link
Author

Choose a reason for hiding this comment

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

The only fields available for updating store listings are the following:
image

What do you mean with parameters like what's new, etc.?


You also have the option to provide an image that may be displayed to the customer. This icon must be a .png file that measures exactly 300 x 300 pixels. This icon is optional.
Loading