News

Windows App SDK Preview 3 Supports Non-MSIX WinUI 3 App Deployment

The third preview of the Windows App SDK (formerly "Project Reunion") supports deploying WinUI 3 apps without MSIX-packaging.

The Windows App SDK is described by Microsoft as the evolution of Windows desktop app development because it provides a unified set of libraries, frameworks, components and tools that developers can use to consistently create any desktop app on OS versions since Windows 10 v1809. When it was announced, Microsoft said it would address the complexity of Windows app development that was caused by two different sets of APIs for the older Win32 platform and the newer Universal Windows Platform (UWP).

The Win32 API (used for what is often called "classic Windows desktop development") was the original C/C++ platform for native Windows apps, providing close-to-the-metal performance with direct access to system hardware. Later came UWP, described as a "modern" take on Windows development. It provides a common type system and application model and APIs for all Windows 10 devices. UWP apps are basically containerized with lower privilege levels and package identity delivered via an MSIX installer. The Windows App SDK unifies these disparate API sets by basically decoupling them from the OS and serving them up via NuGet.

The SDK's WinUI component serves as the native UI layer for Windows, embodying Fluent Design and delivering modern, performant and polished user experiences to both Win32 and UWP apps. This component builds on the identity + packaging + deployment transparent ideas that Windows App SDK supports for apps as well, Microsoft said.

As development of the SDK has progressed, features were added for both the MSIX-packaged apps and the unpackaged apps, as this graphic from the project's roadmap shows:

Windows App SDK Roadmap
[Click on image for larger view.] Windows App SDK Roadmap (source: Microsoft).

The Preview 3 release notes indicate the new support for deploying WinUI 3 apps without MSIX-packaging. Related documentation for "Instructions for WinUI 3 unpackaged desktop apps" warns that WinUI 3 support for unpackaged apps is currently in preview, not yet ready for production. Also, "You must download the Windows App SDK Preview Extension for Visual Studio to get the project templates and build unpackaged desktop apps with WinUI 3."

The new support also comes with a bunch of "known issues" that developers need to watch out for. Just some of those include:

  • Unpackaged WinUI 3 applications are only supported on Windows versions 1909 and later.
  • Unpackaged WinUI 3 applications are supported on x86 and x64, arm64 support will be added in the next stable release.
  • Single-project MSIX Packaging Tools for VS 2019 or VS 2022 is required for unpackaged apps.
  • In an unpackaged app, you may receive a prompt to install .NET 3.5; if you do, you can ignore it.
  • Some APIs are not currently supported in unpackaged apps. We are aiming to fix this in the next stable release. A few examples:
  • ListView, CalendarView, and GridView controls are using the incorrect styles and we are aiming to fix this in the next stable release.
Features Available by Release Channel
[Click on image for larger view.] Features Available by Release Channel (source: Microsoft).

As the above graphic shows, support for MSIX desktop apps and unpackaged desktop apps now goes across stable, preview and experimental channels. Support for UWP apps, however, is only available in the experimental channel. Microsoft stirred up some debate with its recent announcement that ".NET 5/6 Will Not Be Coming to UWP Project Types," which many decried as a further deprecation of UWP on the part of the company.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube