Adobe AIR on the Microsoft Store

Recently a great dev (you know who you are, thank you!)
made me aware of a great post back in March 2018

Distribute your Adobe Air apps through the Microsoft Store with the captive runtime bundle
by Mike Francis MSFT March 14, 2018

One of the great things about the Desktop Bridge is that it’s provided new distribution channels - the Microsoft Store, Microsoft Store for Business, and the Microsoft Store for Education for software developers that up until the introduction of the Bridge, have had to rewrite their applications for UWP or not participate in Store. On the App Consult team, we have assisted Desktop Bridge developers using the plethora of Win32 runtimes: WPF, MFC, Windows Forms, VB.Net, Adobe Air as well as more esoteric runtimes like Electron, Java, and Flash with the MDM Zinc runtime (Google it with Bing!).

Adobe Air is a popular cross-platform runtime. Like most runtime environments, the Air runtime is updated separately from the application. No doubt, you’ve experienced the update prompt when starting an Adobe Air application. This introduces a complication when creating a Windows Store app using the Desktop App Converter. That is, while the app update is handled by the Store, the runtime is not. One solution is to do a chained DAC conversion of the runtime and the application. See this blog post for more information on chained installer conversions.

While a chained DAC conversion works well for some dependency scenarios, a better solution for Adobe Air apps is to package them as a captive runtime bundle. This packaging eliminates the issues with Air runtime updates since the runtime is packaged along with the app. See here for a full list of the benefits and drawbacks of this approach. After you’ve created the captive runtime bundle, you can do a Desktop App Converter manual conversion to package the application into an APPX file. See here for information on doing a manual DAC conversion.

Using Adobe’s captive runtime bundle to package your Adobe Air apps will make your DAC conversions much easier!

More useful Desktop Bridge info here: Best Practices for Packaging and Common Issues for Desktop Bridge Apps!

How do you like that :slight_smile: ?
That’s a 10+ years Microsoft employee telling you how much Adobe AIR is popular
and how easy it is to convert it with Desktop Bridge.

But it does not stop here, as you can see this post is posted on that blog

App Consult Team Blog
The Windows App Consult team blog for the latest updates on events and technical articles, success stories and team public updates.

For those who don’t know, a “consult team” or “consultant team” is a team of developers working for the vendor (this time Microsoft) and who assists customers trying to use products and services of that said vendor but facing integration difficulties.

And when those guys post stuff it is in general a treasure trove because they are really knowing their stuff from the inside out and in general explains it in a way “here let me show you how it would work if you program it this way”.

So if you look into the archives of this blog, yep, you can find very useful and informative stuff that are developers oriented.

Here few of those

So not all those posts are directly about AIR but if you can load a .NET DLL from Unity you can do the exact same thing from an ANE, it is quite easy to adapt the example to your own need.

And while we are on the topic, check out also that other post

Publishing an Adobe Air app to the Windows Store
by rewb0rn

Part I: From Air to Windows Store

We have recently released our first game for Windows 10 on the Windows store, including in-app purchases. Since there are only few resources available how to convert an app to a Windows Universal Package (UWP), especially from an Air perspective, I want to share a step-by-step guide. This first part will cover the conversion of a generic Air app to the Windows store. I plan to write a second part that explains how to include in-app purchases, since that part is quite complex.

which is also full of good informations

All of that should help if you want to publish your AIR app to the Windows store :slight_smile:.


Lots of useful information here, especially rewborns step-by-step guide.

Regarding calling Windows Universal APIs from AIR. I already do this in this Machine Learning ANE. It’s a lot simpler and elegant than the Unity steps.


We have finally gotten around to releasing the ANE we created for rewb0rn in that article, if anyone is interested in handling in-app purchases through a UWP Windows 10 application:

Let me know if you have any questions.


Thanks a lot @zwetan for sharing this post. We made use of this information and we were able to distribute out iOS/Android app to the Microsoft store.

1 Like

Thanks! I’m going to try this out! Any reports on the success of your app on this store compared to others? I don’t think I’ve ever bought a game from the Windows store and don’t really want to put in the work for no possible installs :stuck_out_tongue:

Nice! @ Kelsonk, the windows store is less competitive so you have more chance to be featured I guess and also more chance to see your app in the ranking if it’s worth it indeed :).

I’m very fine with the idea that Flash Air application can be found on Microsoft Store.
We can see it as a new birth in a way for all flash apps which was working pretty well via the web via windows, and historically it’s supposed to be ultra compatible .


This ANE only has functionality for in-app purchases? I was hoping there’d be some functionality for local push notifications or something.

This ANE is for the Windows Store only. We have other projects in the works for push and local notifications in UWP apps.

1 Like

Okay thanks. Small correction, in your guide, the consume events are static strings of WindowsStoreEvent and not PurchaseEvent.

1 Like

Thanks for pointing that out, will get it corrected.

1 Like

The Ane seems to be running up fine but every time I call get products, the array comes back with 0 length, and purchases don’t work. Is there something I’m not doing to turn on ‘add-ons’ for my game? The id’s I’m sending through the client definitely match the id’s in Microsoft Partner Center.

I just realized that Microsoft uses randomly generate store ids that you have to implement in your client, rather than the ones you give them. What a pain.

Yeah, it’s a little annoying. I actually don’t even see the point of giving them your own id’s.

Sorry it’s me again, I don’t know of a better way to contact. I’m almost certain that when I consume a purchase “WindowsStore.service.consumePurchase(purchase.productId);”, neither callback is working. There should be a dialogue pop up on either an error or success callback, and it’s not happening. Furthermore, when I call ‘WindowsStore.service.getPurchases();’ on a later startup, no purchases return, which I believe implies the consume request worked, it’s just that nothing gets called back when you consume the purchase.

Hi, Best if you post your issues in the github issue tracker, we use this for support and bug tracking.