Microsoft Store for Education: App Trials and Add-Ons


Microsoft-Store-for-Education

Developers have had great success with the freemium business model and free trials offered through the Microsoft Store. However there are limitations with these models when the apps are purchased through the Microsoft Store for Education or the Microsoft Store for Business. (Note that the Microsoft Store for Business and Microsoft Store for Education and functionally equivalent for the purposes of this post.)

The Microsoft Store for Education (MSfE) and the Microsoft Store for Business (MSfB) offer exciting opportunities for Business and Education ISVs:

  1. Your applications are available for volume purchase
  2. You have a focused audience for your Business and / or Education customers
  3. You can offer your users a rich experience with seamless access to other applications and Office 365 applications through single sign-on, integration with the Microsoft graph with education / business domain specifics like student, teacher and administrative roles including school roster information.

By default, all apps are published to both the Microsoft Consumer Store () and the MSfB/E. This is a Windows Dev Center app submission setting. (Screenshot below.) Note: "’Organizational licensing” refers the licensing for apps obtained through the MSfB/E.Dev Center: Organizational Licensing

Challenges with Free Trials

Unfortunately free trials are not supported by the MSfB/E. All applications in these Stores are either Free or Paid. The impact for developers is small as no code changes are required for the use of the app obtained through the MSfB/E.

Challenges with the Freemium Model

Apps obtained from the MSfB/E are done so with an organizational license. That is, each school or business user is assigned an organizational identity which is authenticated throughout Azure Active Directory. However, add-ons in those app, require a Microsoft Account (MSA) to purchase. This can be awkward for an organization where the users will be offered to purchase add-ons and can only do so with an MSA – not their organizational id. Moreover, the MSA must have a payment instrument associated with it in order to complete the purchase.  Typically an MSA is used for personal use and an organization id is used for school or work.

How to Mitigate: Create a separate ‘Pro’ version

Some developers have chosen to create a separate version of their app – with a moniker denoting an enhanced experience. For example ‘for Organizations’, ‘Pro’ or ‘Premium’. This enhanced version contains all of the add-ons enabled and is offered at a fixed price. Here are the steps:

  1. Create a version of the freemium app with all of the add-ons enabled. This is the ‘Pro’ version.
  2. Create a new app in Dev Center and reserve the app name. For example: ‘eReader for Kids – Pro’.
  3. In the ‘Organizational licensing’ setting for the free version with add-ons (the non-Pro version) – uncheck ‘Make my app available to organizations with Store-managed (online) licensing and distribution’. This will prevent the freemium version from being available in the MSfB/E. (There is no way to make an app only available to the MSfB/E Stores and not available in the Consumer Store.)
  4. Configure your code that that it can start as the ‘Free’ or ‘Pro’ version based on an app setting. This setting should be set at build time.
  5. Configure your build so that both versions of the apps are created at build time. These projects can be in the same Visual Studio solution.
  6. When you update the app, upload both versions to Dev Center to their respective app entries.
  7. Update the app descriptions, and app change logs as necessary in both apps in Dev Center.

To summarize

Create separate version of the app with all of the Add-Ons enabled (a ‘Pro’ version). Keep the defaults (opt-in) for organizational licensing. This version be will available in the Consumer and WsFB / WsFE Stores.

Opt-out of organizational licensing for the Free/Add-Ons version. This will prevent it from being available in the MSfB or MSfE, making it only available in the Consumer Store.

For more information about Microsoft Store for Business and Microsoft Store for Education go here.

Comments (2)

  1. pnp0a03_ says:

    I have one q – Is it possible to know the app is running as ‘freemium’ or ‘Pro’ programmatically? Because my app – freemium – have the In-App Purchase UI, but it should be hidden when it run as ‘Pro’.

    1. Hi pnp0a03 –
      There are many ways to do this, but you’ll need to have a static setting (a file, the AppxAppxManifest.xml file, etc.) that you can key from to tell you if you are running the free or Pro version. I have a file I copy during the build, depending on the version being built (i.e. Copy ProSetting.txt to Setting.txt or Copy FreeSetting.txt to Setting.txt.) Then at run-time, I read Setting.txt to tell me which ‘mode’ I’m in. I don’t hide the purchase UI in the Pro version, but the UI indicates that all of the add-ons have been purchased and the ‘Buy’ button is disabled.

Skip to main content