In my tinyGOODIES announcement I’ve alluded that I’ve been playing with Progressive Web Apps and specifically with PWAs on Windows, and in the Microsoft Store. As I figure things out, I thought it would be a good idea to document my findings and share them with others.

Microsoft has a whole developer section on PWAs. A tutorial titled “Get started with Progressive Web Apps” starts with a prerequisite of Visual Studio and proceeds to build a PWA from scratch in it. While this is understandable on a Microsoft site, I assume a more typical and pragmatic scenario would (and should?) be someone with an existing PWA built with any technology and toolset trying to bring their app to the Microsoft Store and enhancing it with native Windows features along the way.

That encouraged me to start this series of blog posts approaching PWAs on Windows from a different perspective — I will assume that we have an existing PWA that wasn’t built with Microsoft tools and knows nothing about Windows and cover ways of “lighting it up” when running on Windows 10 in the context of a Microsoft Store app.

I will not got into details of building a “generic PWA” — there is plenty of content on the web about that — but rather focus on Windows-specific aspects.

Publishing Your PWA As Is

In theory it’s possible that Bing will auto-index your PWA and place it into the Microsoft Store. In reality though, if you want your app to be in the Store you should take matters into your own hands.

Before you even start, consider if your PWA will qualify: besides being a minimum viable PWA (HTTPS, manifest, service workers, etc.) it should also comply with Microsoft Store policies. Most of these are common sense and the vast majority of sensible web apps should be compliant. However, there are a few things that may disqualify your app right from the gate. Probably the most notable of those is Policy 10.8 Financial Transactions:

“You must use the Microsoft Store in-app purchase API to sell digital items or services that are consumed or used within your app.”

So, if you have your own transaction flow setup you are most likely out of luck — you will either have to scrape your Microsoft Store plans, disable commerce or switch to using Microsoft’s services when running in the app context on Windows.

There could be other policies that affect your specific scenario, so I definitely encourage you to read through the doc before you invest your time and money into publishing.

Among other things, this is another good reason to start by publishing your PWA to the Store as is — if you are going to fail for policy reasons it’s better to know it as soon as possible.

You will need a Dev Center account

In case you don’t have it yet, start by registering for a Windows Dev Center account.

Once registered navigate to your dashboard and create a new app or game.

You need to do this before you continue, as you’ll need some app-specific data from the store to generate a package you will upload there.

In the next step you are basically reserving a public name for your app and generating identifiers for it.

Once done navigate to your app’s details > App management > App identity: