Create an app submission for your app
Note
This section of the documentation describes how to create an app submission in Partner Center. Alternatively, you can use the Microsoft Store submission API to automate app submissions.
Once you've created your app by reserving a name, you can start working on getting it published. The first step is to create a submission.
You can start your submission when your app is complete and ready to publish, or you can start entering info before you have written a single line of code. Updates you make to your submission are saved, so you can come back and work on it whenever you're ready.
After your app is published, you can publish an updated version by creating another submission in Partner Center. Creating a new submission lets you make and publish whatever changes are needed, whether you're uploading new packages or just changing details such as price or category. To create a new submission for a published app, click Update next to the most recent submission shown on its Overview page.
App submission checklist
Here are the details that you can provide when creating your app submission, with links to more info.
Items that you are required to provide or specify are noted below. Some areas are optional, or have default values provided that you can change as desired. You don't have to work on these sections in the order listed here.
What are add-ons?
Add-ons (also sometimes referred to as in-app products) are supplementary items for your app that can be purchased by customers. An add-on can be a fun new feature, a new game level, or anything else you think will keep users engaged. Not only are add-ons a great way to make money, but they help to drive customer interaction and engagement.
Add-ons are published through Partner Center, and require you to have an active developer account. You'll also need to enable the add-ons in your app's code.
An add-on must be associated with an app that you've created in Partner Center (even if you haven't submitted it yet). You can find the button to Create a new add-on on your app's Overview page or on its add-ons page.
After you select Create a new add-on, you'll be prompted to specify a product type and assign a product ID for your add-on.
Pricing and availability page
Field name | Required | Notes |
---|---|---|
Markets | Not required | |
Audience | Not required | |
Discoverability | Not required | |
Schedule | Not required | |
Base price | Required | |
Free trial | Not required | |
Sale pricing | Not required | |
Organizational licensing | Not required |
Properties page
Field name | Required | Notes |
---|---|---|
Category and subcategory | Required | |
Privacy policy URL | Required | Sometimes not required. |
Website | Not required | |
Support contact info | Not required | Required if your product is available on Xbox. |
Game settings | Not required | |
Display mode | Not required | |
Product declarations | Not required | |
System requirements | Not required |
Age ratings page
Field name | Notes | Notes |
---|---|---|
Age ratings | Required |
Packages page
Field name | Required | Notes |
---|---|---|
Package upload control | Required | At least one package required. |
Device family availability | Not required | |
Gradual package rollout | Not required | |
Mandatory update | Not required |
Store listings
You'll need all the required info for at least one of the languages that your app supports. We recommend providing Store listings in all of the languages your app supports, and you can also provide Store listings in additional languages. To make it easier to manage multiple listings for the same product, you can import and export Store listings.
Field name | Required | Notes |
---|---|---|
Description | Required | |
What's new in this version | Not required | |
App features | Not required | |
Screenshots | Required | At least one screenshot required; four or more recommended |
Store logos | Not required | Required for some OS versions. |
Trailers | Not required | |
Windows 10 or Windows 11 and Xbox image (16:9 Super hero art) | Not required | |
Xbox images | Not required | Required for proper display if you publish to Xbox |
Supplemental fields | Not required | |
Search terms | Not required | |
Copyright and trademark info | Not required | |
Additional license terms | Not required | |
Developed by | Not required |
Submission options page
Field name | Required | Notes |
---|---|---|
Publishing hold options | Not required | |
Notes for certification | Not required | |
Restricted capabilities | Not required | Required if your product declares any restricted capabilities |
Submission notification audience | Not required |
Availability page
Field name | Required | Notes |
---|---|---|
Markets | Required | Default: All possible markets |
Pricing | Required | One of: Free; Paid; Freemium; Subscription. |
Free Trial | Required | Not required if pricing is set to Free or Freemium. |
Properties page, support info section
Field name | Required | Notes |
---|---|---|
Category | Required | |
Subcategory | Not required | |
Does this product access... | Required | |
Privacy policy URL | See notes | Only required if you answered yes to the previous question |
Website | Not required | |
Support contact info | Not required |
Properties page, products declaration section
Field name | Required | Notes |
---|---|---|
This app depends on non-Microsoft drivers or NT services. | Not required | |
This app has been tested to meet accessibility guidelines. | Not required | |
This product supports pen and ink input. | Not required | |
Notes for certification | Recommended | Character limit: 2,000 |
Properties page, system requirements section
Field name | Required | Notes |
---|---|---|
Touch screen | Not required | |
Keyboard | Not required | |
Mouse | Not required | |
Camera | Not required | |
NFC HCE | Not required | |
NFC Proximity | Not required | |
Bluetooth LE | Not required | |
Telephony | Not required | |
Microphone | Not required | |
Memory | Not required | |
DirectX | Not required | |
Video Memory | Not required | |
Processor | Not required | |
Graphics | Not required |
Packages page
Field name | Required | Notes |
---|---|---|
Package URL | Required | At least one package URL is required |
Language | Required | At least one language is required |
Architecture | Required | |
Installer parameters | Required | Support for silent install is required. Other parameters are optional |
Store listings page
Each language has a separate store listing page. One listing page is required. It is recommended to provide complete listing page information for each language your app supports.
Field name | Required | Notes |
---|---|---|
Description | Required | Character limit: 10,000 |
What’s new in this version | Not required | Character limit: 1,500 |
App features | Not required | Character limit: 200 per feature; Feature limit: 20. |
Screenshots | Required | Required: 1; Recommended: 4+; Maximum: 10 |
Store logos | Required | 1:1 Box art required, 2:3 Poster art recommended |
Short description | Not required | Character limit: 1,000 |
Additional system requirements | Not required | Character limit: 200 characters per requirement; Requirements limit: 11 for each of minimum and recommended hardware. |
Search terms | Not required | Character limit: 30 per term; Term limit: 7; Maximum of 21 unique words total among all terms. |
Copyright and trademark info | Not required | Character limit: 200 |
Applicable license terms | Required | Character limit: 10,000 |
Developed by | Not required | Character limit: 255 |
Here's a list of the info that you provide when creating your add-on submission. The items that you are required to provide are noted below. Some of these are optional, or have default values already provided that you can change as desired.
Create a new add-on page
Field name | Notes |
---|---|
Product type | Required |
Product ID | Required |
Properties page
Field name | Notes |
---|---|
Product lifetime | Required if the product type is Durable. Not applicable to other product types. |
Quantity | Required if the product type is Store-managed consumable. Not applicable to other product types. |
Subscription period | Required if the product type is Subscription. Not applicable to other product types. |
Free trial | Required if the product type is Subscription. Not applicable to other product types. |
Content type | Required |
Keywords | Optional (up to 10 keywords, 30 character limit each) |
Custom developer data | Optional (3000 character limit) |
Pricing and availability page
Field name | Notes |
---|---|
Markets | Default: All possible markets |
Visibility | Default: Available for purchase. May be displayed in your app's listing |
Schedule | Default: Release as soon as possible |
Pricing | Required |
Sale pricing | Optional |
Store listings
One Store listing required. We recommend providing Store listings for every language your app supports.
Field name | Notes |
---|---|
Title | Required (100 character limit) |
Description | Optional (200 character limit) |
Icon | Optional (.png, 300x300 pixels) |
When you've finished entering this info, click Submit to the Store. In most cases, the certification process takes about an hour. After that, your add-on will be published to the Store and ready for customers to purchase.
Note
The add-on must also be implemented in your app's code. For more info, see In-app purchases and trials.
Updating an add-on after publication
You can make changes to a published add-on at any time. Add-on changes are submitted and published independently of your app, so you generally don't need to update the entire app in order to make changes to an add-on such as updating its price or description.
To submit updates, go to the add-on's page in Partner Center and click Update. This will create a new submission for the add-on, using the info from your previous submission as a starting point. Make the changes you'd like, and then click Submit to the Store.
If you'd like to remove an add-on you've previously offered, you can do this by creating a new submission and changing the Distribution and visibility option to Hidden in the Store with the Stop acquisition option. Be sure to update your app's code as needed to also remove references to the add-on (especially if your previously-published app supports Windows 8.1 earlier; this visibility setting won't apply to those customers).
Important
If your previously-published app is available to customers on Windows 8.x, you will need to create and publish a new app submission in order to make the add-on updates visible to those customers. Similarly, if you add new add-ons to an app targeting Windows 8.x after the app has been published, you'll need to update your app's code to reference those add-ons, then resubmit the app. Otherwise, the new add-ons won't be visible to customers on Windows 8.x.
Set your add-on product type and product ID
An add-on must be associated with an app that you've created in Partner Center (even if you haven't submitted it yet). You can find the button to Create a new add-on on your app's Overview page or on its Add-ons page.
After you select Create a new add-on, you'll be prompted to specify a product type and assign a product ID for your add-on.
Product type
First, you'll need to indicate which type of add-on you are offering. This selection refers to how the customer can use your add-on.
Note
You won't be able to change the product type after you save this page to create the add-on. If you choose the wrong product type, you can always delete your in-progress add-on submission and start over by creating a new add-on.
Durable
Select Durable as your product type if your add-on is typically purchased only once. These add-ons are often used to unlock additional functionality in an app.
The default Product lifetime for a durable add-on is Forever, which means the add-on never expires. You have the option to set the Product lifetime to a different duration in the Properties step of the add-on submission process. If you do so, the add-on will expire after the duration you specify (with options from 1-365 days), in which case a customer could purchase it again after it expires.
Consumable
If the add-on can be purchased, used (consumed), and then purchased again, you'll want to select one of the consumable product types. Consumable add-ons are often used for things like in-game currency (gold, coins, etc.) which can be purchased in set amounts and then used up by the customer. For more info, see Enable consumable add-on purchases.
There are two types of consumable add-ons:
- Developer-managed consumable: Balance and fulfillment must be managed within your app. Supported on all OS versions.
- Store-managed consumable: Balance will be tracked by Microsoft across all of the customer’s devices running Windows 10, version 1607 or later; not supported on any earlier OS versions. To use this option, the parent product must be compiled using Windows 10 SDK version 14393 or later. Also note that you can't submit a Store-managed consumable add-on to the Store until the parent product has been published (though you can create the submission in Partner Center and begin working on it at any time). You'll need to enter the quantity for your Store-managed consumable add-on in the Properties step of your submission.
Subscription
If your want to charge customers on a recurring basis for your add-on, choose Subscription.
After a subscription add-on is initially acquired by a customer, they will continue to be charged at recurring intervals in order to keep using the add-on. The customer can cancel the subscription at any time to avoid further charges. You'll need to specify the subscription period, and whether or not to offer a free trial, in the Properties step of your submission.
Subscription add-ons are only supported for customers running Windows 10, version 1607 or later. The parent app must be compiled using Windows 10 SDK version 14393 or later and it must use the in-app purchase API in the Windows.Services.Store namespace instead of the Windows.ApplicationModel.Store namespace. For more info, see Enable subscription add-ons for your app.
You must submit the parent product before you can publish subscription add-ons to the Store (though you can create the submission in Partner Center and begin working on it at any time).
Product ID
Regardless of the product type you choose, you will need to enter a unique product ID for your add-on. This name will be used to identify your add-on in Partner Center, and you can use this identifier to refer to the add-on in your code.
Here are a few things to keep in mind when choosing a product ID:
- A product ID must be unique within the parent product.
- You can’t change or delete an add-on's product ID after it's been published.
- A product ID can't be more than 100 characters in length.
- A product ID cannot include any of the following characters: < > * % & : \ ? + ,
- Customers won't see the product ID. (Later, you can enter a title and description to be displayed to customers.)
- If your previously-published app supports Windows Phone 8.1 or earlier, you must only use alphanumeric characters, periods, and/or underscores in your product ID. If you use any other types of characters, the add-on will not be available for purchase to customers running Windows Phone 8.1 or earlier.
Important
You can no longer upload new XAP packages built using the Windows Phone 8.x SDK(s). Apps that are already in Store with XAP packages will continue to work on Windows 10 Mobile devices. For more info, see this blog post.
Note
You must have an active developer account in Partner Center in order to submit apps to the Microsoft Store. All the users added to your developer account in Partner Center can submit EXE or MSI apps to the Microsoft Store. They can also modify all the existing EXE or MSI apps in Partner Center. The roles and permissions set for account users do not currently apply to EXE or MSI apps.
Notifications
Important
To ensure that you receive critical email notifications, you'll be required to verify your email address in Action Center. Go to My Preferences in Action Center to verify.
After publishing an app, the owner of your developer account is always notified of the publishing status and required actions through email and the Action Center in Partner Center. In addition, you can add members in either developer or manager role within your developer account to receive same notifications or remove those who no longer need be notified.
To add or remove:
- On the Submission options page, look for the field of “Submission notification audience”
- Click “Click here” to open Notification audience overview page
- On the Notification audience overview page, add or remove audience
Note
- The owner of your developer account is always notified and can’t be removed from the audience list.
- The audience list is product specific and applied to all submissions of the product. To modify the notification recipients for a different product, follow the steps above for each product.
- Add-on inherits parent product’s audience list and can’t be managed separately.
Feedback
Submit and view feedback for