> For the complete documentation index, see [llms.txt](https://gamelauncher.cloud/help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gamelauncher.cloud/help/launchers/microsoft-store/msix-package.md).

# Publish Store Package (MSIX)

This is the recommended route. You give Partner Center a package file instead of pointing it at an installer URL, and Microsoft signs it during certification and serves it from the Store. There is no code signing certificate to buy, and no build you have to keep pinned for the life of the submission.

Connect your Partner Center account once, and every release after that can be submitted from the dashboard.

{% hint style="info" %}
Set the account up first: [Set Up Your Partner Center Account](https://gamelauncher.cloud/help/launchers/microsoft-store/partner-center-setup). Without an associated Microsoft Entra tenant, the User management page you need in Step 1 below refuses to open.
{% endhint %}

## Before you start

1. **Register on Partner Center** and complete identity verification. The account is free, and so is publishing. Company verification can take several days, so start it early.
2. **Reserve your app name.** This cannot be done through any API.
3. **Create the first submission by hand**, age ratings questionnaire included. Microsoft requires it and the dashboard cannot do it for you. Every release after that one can be sent from here.

{% hint style="danger" %}
That listing has to be free, and it needs at least four screenshots, each one a direct capture of the launcher running. See [Store Requirements](https://gamelauncher.cloud/help/launchers/microsoft-store/store-requirements).
{% endhint %}

## Step 1: Register the Entra application

Partner Center is driven through an application in your Microsoft Entra directory, not through your own login.

{% stepper %}
{% step %}
In Partner Center, open **Account settings > User management > Microsoft Entra applications**.
{% endstep %}

{% step %}
Click **Add Microsoft Entra application**, then pick **Create Microsoft Entra application**. The other option only lists applications that already exist in your directory, and a tenant you just associated has none.
{% endstep %}

{% step %}
Give it a **Name** you will recognise later, then fill the two identity fields Partner Center asks for.

| Partner Center field | What to enter                                                      | Example                                     |
| -------------------- | ------------------------------------------------------------------ | ------------------------------------------- |
| **Reply URL**        | Any valid absolute URL. Your own site works.                       | `https://yourcompany.com/`                  |
| **App ID URI**       | Any unique URI. The same domain with a path is the easiest answer. | `https://yourcompany.com/gamelaunchercloud` |

Neither value is used by anything. This application signs in with its client ID and key, never with a person, so no one is ever redirected to the reply URL and no single sign-on request is ever made against the App ID URI. Microsoft says as much: when the application exists only for Partner Center authentication, any valid address will do for both.

Each value has to be unique across every application in your Microsoft Entra directory, and neither can be longer than 256 characters. If Partner Center refuses one, add a path or a suffix and submit again.
{% endstep %}

{% step %}
On the second page, under **Roles applicable to developer programs**, tick **Manager (Windows)**, then **Create**. Nothing is ticked by default, so it is easy to click straight past this.
{% endstep %}

{% step %}
Open the application from the list and click **Add new key**. The key is shown once, so copy it before leaving the page.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**The reply URL and the App ID URI are yours to invent.** Nobody issues them to you, and they are not the Tenant ID, Client ID, Seller ID or Store ID you copy into Step 2. Type something valid, move on, and never think about them again.
{% endhint %}

{% hint style="warning" %}
An application created without a role works fine as an application. Partner Center simply rejects its calls with a 403 when you press Connect, and the error does not say that the role is what is missing.
{% endhint %}

{% hint style="info" %}
**Manager (Windows)** grants full account access except tax and payout. The narrower **Developer** role is described as covering package upload and app submission, which is all this integration does, so it is worth moving to later if you prefer least privilege. Microsoft documents Manager for the submission API, so start there and tighten it once you have a submission working.
{% endhint %}

## Step 2: Connect

In the Dashboard:\
1\. Open your launcher, go to **Integrations > Microsoft Store**\
2\. Choose **Store package (MSIX)** and fill in Step 2.

| Field     | Where it comes from                                                                          |
| --------- | -------------------------------------------------------------------------------------------- |
| Tenant ID | Account settings > Tenants, column Microsoft Entra tenant ID                                 |
| Client ID | Shown as Client ID on your application, and again on the screen that hands you the key       |
| Key       | Add new key on that application. Shown once, then stored encrypted and never shown again     |
| Seller ID | Account settings > Legal info, under Publisher IDs                                           |
| Store ID  | Product management > Product Identity, and the last part of the product's Partner Center URL |

If you fill all of these correctly, use the **Connect** button to test the connection.\
When **connected successfully** skip to [#step-3-send-the-package](#step-3-send-the-package "mention")

## Manual: Copy the package identity

{% hint style="success" %}
**A connected launcher skips this step entirely.**
{% endhint %}

Microsoft assigns the package identity when you reserve your app name. Copy it from **Product management > View app identity details**.

{% hint style="danger" %}
These must match exactly. Any difference and the Store rejects the package.
{% endhint %}

| Dashboard field          | Partner Center name                       | Looks like                                |
| ------------------------ | ----------------------------------------- | ----------------------------------------- |
| Package identity name    | `Package/Identity/Name`                   | `12345Contoso.MyLauncher`                 |
| Package publisher        | `Package/Identity/Publisher`              | `CN=A1B2C3D4-0000-0000-0000-000000000000` |
| Microsoft Publisher name | `Package/Properties/PublisherDisplayName` | Your company's legal name                 |

Packages are built during a deploy, so deploy the launcher once after saving. Builds produced before this point have no package attached, and Step 4 will say so.

## Step 3: Send the package

Pick a build in Step 4 and click **Submit to the Store**. The dashboard creates the submission, uploads the package and commits it, leaving your listing, pricing and age ratings as they are.

Certification runs for hours, so the status stays on the page rather than vanishing when the request returns. Use **Refresh** to check on it.

Two things stop a submission, and both are fixed in Partner Center:

* **This product has no submission yet.** Create the first one by hand, age ratings included.
* **A submission created outside this dashboard is open.** Publish or delete it first. Microsoft allows only one open submission per product.

Remember to follow the [Store Requirements](/help/launchers/microsoft-store/store-requirements.md) or your launcher will be rejected.

***

## Support Assistance

If you need assistance please contact our support\
\- **Dashboard:** <https://app.gamelauncher.cloud/support/overview>\
\- **Discord:** <https://discord.com/invite/FpWvUQ2CJP>

### See our Demo Launcher

[Game Launcher Cloud DEMO - Microsoft Store](https://apps.microsoft.com/detail/9ND7BBBT443B?hl=en-us\&gl=MX\&ocid=pdpshare)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gamelauncher.cloud/help/launchers/microsoft-store/msix-package.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
