Microsoft makes using UWP APIs available for Win32 apps

Reading time icon 3 min. read


Readers help support Windows Report. We may get a commission if you buy through our links. Tooltip Icon

Read our disclosure page to find out how can you help Windows Report sustain the editorial team Read more

You can’t really talk about UWP, Microsoft’s “universal platform platform” without touching on the “is it dead?” controversy. As we said before, it’s really a tale of two UWPs, one, a family of APIs that introduce new abilities like “BackgroundTasks, Notifications, LiveTiles, Share and more,” and the other a now disbanded concept of having all app development for Windows move to a new “Universal” programming model, writing once to deploy on phones, tablets, and PCs alike, with apps available only from the Microsoft Store.

Late yesterday, Microsoft announced upcoming changes that remove some more of the constraints of using the UWP APIs in non “UWP” apps, making the APIs more readily available, and further distancing UWP from the idea that an app using these features has to be available in the Microsoft Store. These changes will be available in Windows 10 build 19000 and up.

Up until now, the programming model for using the UWP APIs like background tasks and share, etc. required that any app written using these interfaces follow a couple of rules, as outlined in a post on the Windows Developer blog:

  • Identity – The need for package or application identity to identify the caller, and an identifier to scope data and resources.
  • Registration – The need for configuration of machine state during application deployment, which is required by the API and indexed by the package or application identity.

UWP apps require both identity and registration, and they have only been available through an appmanifest xml file, and tied to the app’s registration in the Microsoft Store. Now, however, Microsoft is opening up these requirements to make them available through a new <allowExternalContent> element, and/or a Win32 type Runtime Behavior type, among others. What this all means is that developers can now, by setting some new configurations, use UWP APIs in Win32 apps.

Microsoft posted much more on the how-tos of using these new configuration features, if you’re a Win32 developer looking for guidance, be sure and check out the documentation. For the rest of us, what this all means is that all kinds of Windows apps and applications will now be able to incorporate some of the features available up until now only to Microsoft Store apps, features like notifications, background tasks, and share.

Microsoft is continuing, as it has said, to invest in UWP APIs, and this is another step toward removing the constraints originally placed on these features to now make them more widely available.

Are you a Windows developer? Do these changes make developing for Windows easier and more interesting for you? Let us know in the comments below