For the complete documentation index, see llms.txt. This page is also available as Markdown.

Publish Store Package (EXE)

Submit your launcher as a Win32 installer you host and sign yourself

Coming soon. The tab does not let you pick this route yet. Use Store Package (MSIX) today, where Microsoft signs the package for you.

On this route the Store shows the listing and handles discovery, then sends players to the installer on the Game Launcher Cloud CDN, the same file your permanent download links already point at. Nothing about how your launcher builds or updates changes, and players keep receiving updates through the launcher's own self-update rather than through the Store.

Hosting is on us either way. What this route asks of you, and Store Package (MSIX) does not, is a code signing certificate of your own and a build kept pinned for as long as the submission points at it.

Before you start

  1. Register on Partner Center and complete identity verification. The account is free, and so is publishing. See Set Up Your Partner Center Account.

  2. Reserve your app name in Partner Center. This cannot be done through any API.

  3. Have a code signing certificate. The Store requires a valid Authenticode signature on the package.

Where to find your values

In the dashboard, open your launcher and go to Integrations > Microsoft Store, then choose Store package (EXE). Every field below is shown there with a copy button, already filled in for your launcher.

Filling in the Packages page

Partner Center field
Value

App type

EXE

Installer parameters

/S

Package URL

The versioned installer URL for one specific build

Architecture

x64

Languages

The 12 languages your launcher ships

Installer handling

Installer Exit Codes

The package URL must be versioned

Microsoft states that "the binary on the package URL must not change after it is submitted". Use the URL of a specific build:

Never submit the /Builds/Latest/ URL. That folder is overwritten every time you deploy, so the Store would detect a swapped binary, re-certify it, and pull your app if the new build fails certification.

When you select a build on the Microsoft Store tab, that build is pinned: build backup retention skips it and it cannot be deleted while it is published, so the URL you gave the Store keeps working no matter how many times you deploy afterwards.

Unpin the build only after the Store submission no longer points at its package URL. Unpinning returns it to the normal retention window, where it may be deleted.

Publisher name

Store validation rejects an Add or remove programs entry whose Publisher is blank, or that just repeats the product name. Set Publisher name on the Microsoft Store tab to your company's legal name, matching the publisher display name verified on your Partner Center account.

If you leave it empty, the installer falls back to your account's company name, and then to the launcher title.

The value applies to the next build you deploy, so deploy once after setting it and submit that build.

Signing the installer

Upload your code signing certificate as a .pfx in the dashboard, with its password if it has one. Every installer built from that point on is signed and timestamped with it.

Signing happens during a deploy, so deploy the launcher once after saving. The dashboard warns you when the certificate is expiring or already expired, which matters because reissuing takes days and installers built with an expired certificate are effectively unsigned.

Package validation

Microsoft runs five automated checks. You can run three of them yourself on a clean Windows machine before submitting.

UAC prompts are allowed. Any other prompt is a failure.

Your launcher must appear with a name, a publisher, and a version. The publisher must not be blank or a copy of the name. Check HKLM:\SOFTWARE\... instead if your launcher installs for all users.

Run the silent install, then compare the list of installed programs before and after. Your launcher must add exactly one entry. More than one means the Store treats it as bundleware.

The remaining two checks, Malware and Code sign, are static analysis on the installer file. Verify the signature with:

After submission

Certification takes at least a day. When you later deploy a new launcher build and want the Store to serve it, use Update submission in Partner Center with the new versioned URL, then pin the new build in the dashboard and unpin the old one.

Last updated

Was this helpful?