Traditional desktop apps in the Microsoft Store on Windows
Pete Brown, Tejaswi Vinnakota
The Microsoft Store on Windows has long had great support for UWP apps, PWAs, and desktop apps packaged in .MSIX installers, complete with app identity and a focus on both safety and simple install experience.
But the utility and desirability of the Windows platform comes largely from the huge selection of powerful and productive traditional desktop applications using traditional installers. Those apps are distributed all around the web, making it challenging for a customer to know if an app is reputable or not. It can also be a lot of work for smaller developer teams to gain the right insights into the deployment and use of their applications and to get the right discoverability for their apps.
In recognition of that, last year, we introduced a preview program to enable those traditional desktop apps, commonly called “Win32” apps, packaged in .EXE or .MSI installers, and built using anything from .NET (WPF, Windows Forms, console) to C++, WinUI, MFC, Qt, Flutter, OpenGL, Pascal, Java, Electron, and so much more, to be part of the Windows Store catalog. At Build 2022, we’ve announced that the preview program was successful, and we’ve opened up Win32 app publishing to everyone!
Bringing your Win32 app to the Microsoft Store adds another distribution channel for your traditional desktop app by making it discoverable to Windows customers right within Windows, all while keeping your existing build production workflows. The new Microsoft Store on Windows supports Windows 11 alongside Windows 10, reaching more Windows customers than ever.
“Today, WinZip leverages two main distribution models on Microsoft Store – UWP apps and Win32 unmodified apps. The Win32 unmodified apps allow WinZip to build a direct relationship with our customers while leveraging the reach of Microsoft. The new partnership model Microsoft is offering to development partners is enlisting great potential to expand the reach, to listen to our customers and to respond quickly to changes in demand.”
—WinZip, Henry Monteiro, Director of Products
More revenue from your hard work
To support your apps without changes, we’re enabling you to bring your own commerce system for in-app purchases.
When you use your own commerce system for your non-gaming apps, you keep 100% of the revenue (subject to the terms of your own commerce system provider and payment processor), and do not pay Microsoft anything for publishing or selling your app. There is no platform fee.
This is a good thing. :)
Your app. Your installer. Your CDN.
We designed the Win32 store support to be as easy as possible for application developers with existing apps to take advantage of. We use your installer, in silent mode, without modification. That installer is served up from your own versioned URL and installs your app. When you submit your package URL in Partner Center, you are provided with real time feedback to make it work for the Store.
As long as your app and installer comply with store requirements and policies, there’s no need to change anything to gain the discoverability, analytics, and other benefits from listing in the store.
The store handles standard MSI return codes automatically. To provide the best customer experience when using an EXE installer (like setup.exe), the Store supports suitable customer facing messages and actions for the return codes during setup. You can provide these custom return codes when submitting your installer to the store.
“From a developer standpoint, we’re very happy to see that the new Microsoft Store supports a wide range of application types such as MSI, EXE, MSIX and PWA. This has dramatically decreased the overheard on our end and made the submission process that much easier. In addition, the team at Microsoft Store has been providing is with amazing support from addressing technical questions to providing marketing strategies and everything in between.”
—Wondershare, Pete Yang, Senior Manager, Strategic Partnerships
Your delivery workflow
It’s easy to submit updates to your app right through the Partner Center UI. However, for a more automated approach, you can use our REST APIs for store submission and update.
After your initial submission of your app, you can use the Microsoft Store submission API for your Win32 app to programmatically query and create new submissions for the app. This API is useful if your account manages many apps, and you want to automate and optimize the submission process for these assets.
Publish from GitHub
We also have Continuous Integration / Continuous Delivery (CI/CD) support from GitHub, built upon these same store APIs. This GitHub action, available in the GitHub Marketplace, automates the build and packaging process, and then updates the store listing with the new package, all triggered as part of your CI/CD pipeline.
We think this is a great approach that takes the manual steps out of store publishing and encourages developers to keep their apps up to date in the store.
More insight starting at acquisition
Publishers of Win32 apps today have had to put a lot of effort into analytics if they wanted to know how the installer worked, or how the app worked in use. Typically, this requires a custom service to capture the install codes, as well as endpoints to capture errors in use. But other types of apps installed through the Store have access to rich analytics covering everything from install through to use.
Of course, we wanted to provide this same level of insight to Win32 apps. So we did. :)
When your app installer runs, it can return error codes. In the case of MSI, we properly handle standard codes for you when we run the installer, as described above. In the case of EXE and MSI installers with additional return codes, only you as the developer can make sense of those codes. So now we surface those through the app installer analytics in your store dashboard, in addition to the standard ones.
You can dice and filter this data to gain deeper insight into how the installer is working, and under which conditions it may fail. This is a huge productivity boost for developer teams of all sizes.
In addition to acquisition analytics, when you publish your traditional desktop apps in the store, you will receive Store app usage and health analytics, without requiring any additional instrumentation in the app itself.
Respond to customer reviews
Customers can rate and review the apps they’ve installed through the Microsoft Store. Ratings and reviews are critical to understanding how customers view your apps, and how others will perceive your app when considering acquisition. You can analyze ratings and reviews with the Ratings and reviews report in Partner Center. And now, for your Win32 apps, you can also respond to customer reviews directly from this page. You can also view ratings by market providing a consistent experience with market wise ratings on the Store.
App review report in Partner Center
If your submission didn’t pass review, details are provided in Partner Center, including reasons for app rejection, any specific Store Policies that your submission didn’t follow, steps to repro and guidance to address them.
More control over the experience
We also know that many of you have invested in a workflow and installation experience that keep customers engaged on your websites, and you don’t want to lose that.
We now have support for the popup store that provides a mini store install window you can pop up from your website. This enables you to keep the same familiar web-first experience for your customers, but still support installation through the Microsoft Store on Windows, including all the analytics and other goodness covered above.
Learn how to publish your Win32 app
Thanks to feedback from all the participants in the preview program, we’ve made it easy to publish your unmodified traditional desktop apps to the Microsoft Store. Watch this short video to learn how.
We’re looking forward to publishing your great apps in the store! To get started, head over to partner center. To learn more, we have documentation describing publishing Win32 apps here.