UWP APIs available to a packaged desktop app

Packaged desktop apps can use a wide range of Universal Windows Platform (UWP) APIs, even if they have not fully transitioned to a UWP app. This article lists the available classes your packaged app can use.

Most UWP APIs work well on packaged desktop apps. However, some feature areas are not yet fully tested or currently functioning as intended.

Feature area Details
Appointments, contacts, and emails Not all APIs are currently supported for packaged apps.
Authentication and user identity Not all APIs are currently supported for packaged apps.
Background tasks While packaged apps can register background tasks, only fully UWP apps can run as a background task. For more information, see the Background task sample on GitHub.
Bluetooth Not all APIs are currently supported for packaged apps.
Chat and phone calls Packaged apps cannot run on mobile until they are fully ported to UWP.
Contract activation Only full UWP apps can be activated by a contract.
Cryptography Not all APIs are currently supported for packaged apps.
Geolocation Not all APIs are currently supported for packaged apps.
File and folder pickers Packaged apps have full file system access and do not need UWP pickers.
Media Not all APIs are currently supported for packaged apps.
Point of service Not all APIs are currently supported for packaged apps.
Smart cards Not all APIs are currently supported for packaged apps.
PlayReady Not all APIs are currently supported for packaged apps.
VPN Not all APIs are currently supported for packaged apps.
Wallet Packaged apps cannot run on mobile until they are fully ported to UWP.
XAML UI Windows 10, version 1809, and earlier releases do not support hosting UWP XAML content in packaged desktop apps. Starting in Windows 10, version 1903, you can use XAML Islands to host UWP XAML content.

Occasionally, APIs in these areas may appear to function correctly. However, if an API is not explicitly listed as supported, you should avoid using it as it may have unintended side effects or behavior. Support for these APIs may become available in future releases. In the interim, your app should use relevant Win32 or .NET APIs instead.

List of APIs

The following is a full list of UWP APIs supported in packaged apps. You can view APIs supported only in packaged apps or APIs supported in both packaged apps and desktop applications.

For examples on how to use WinRT APIs, see the Desktop Bridge Samples and Universal Windows Platform (UWP) app samples on GitHub. You can also consult the Building App for Windows blog post Calling Windows 10 APIs From a Desktop Application.

APIs supported only in packaged apps

APIs supported in both packaged apps and desktop applications

APIs that have the DualApiPartition are supported in both packaged apps and unpackaged desktop applications. To determine whether an API you want to call from your desktop application is supported, find the reference article for the class or member you're interested in the reference documentation for WinRT namespaces. Then, check whether the Attributes section in the reference article includes the DualApiPartition attribute.

Next steps

Find answers to your questions

Have questions? Ask us on Stack Overflow. Our team monitors these tags. You can also ask us here.

Give feedback or make feature suggestions

See UserVoice.