Windows App SDK Preview 3 supports deployment of non-MSIX WinUI 3 applications
The third preview of the Windows Application SDK (formerly “Project Reunion”) supports the deployment of WinUI 3 applications without an MSIX package.
The Windows Application SDK is described by Microsoft as the evolution of Windows desktop application development because it provides a unified set of libraries, frameworks, components, and tools that developers can use to build in such a way consistent any desktop application on operating system versions since Windows 10 v1809. During its announcement, Microsoft said it would resolve the complexity of Windows app development caused by two different API sets for the old Win32 platform and the new Universal Windows Platform (UWP).
The Win32 API (used for what is often referred to as “classic Windows desktop development”) was the original C / C ++ platform for native Windows applications, delivering near-metal performance with direct access to system hardware. Later came UWP, described as a “modern” approach to Windows development. It provides a common type system, app template, and APIs for all Windows 10 devices. UWP apps are essentially containerized with lower privilege levels and package identity provided through an MSIX installer. The Windows Application SDK unifies these disparate sets of APIs by essentially separating them from the operating system and serving them through NuGet.
The WinUI component of the SDK serves as a native user interface layer for Windows, embodying Fluent Design and delivering modern, high-performance, and refined user experiences to Win32 and UWP applications. This component builds on the transparent identity + packaging + deployment ideas that Windows App SDK also supports for applications, Microsoft said.
As the development of the SDK progressed, features were added for both MSIX packaged applications and unpackaged applications, as shown in this project roadmap graphic:
The Preview 3 release notes indicate new support for deploying WinUI 3 applications without an MSIX package. The related documentation for “Instructions for Uncompressed WinUI 3 Desktop Applications” warns that WinUI 3 support for uncompressed applications is currently in preview, not yet ready for production. Additionally, “You must download the Windows App SDK Preview extension for Visual Studio to get the project templates and create unzipped desktop apps with WinUI 3.”
The new support also comes with a set of “known issues” that developers should be aware of. Only some of these include:
- Unpackaged WinUI 3 applications are only supported on Windows versions 1909 and later.
- Unpackaged WinUI 3 applications are supported on x86 and x64, support for arm64 will be added in the next stable release.
- MSIX packaging tools for a single project for VS 2019 or VS 2022 is required for unpackaged applications.
- In an unzipped application, you may receive a prompt to install .NET 3.5; if you do, you can ignore it.
- Some APIs are currently not supported in unpackaged applications. We aim to fix this issue in the next stable release. Some examples :
- ListView, CalendarView, and GridView controls use incorrect styles and we aim to fix this in the next stable release.
As shown in the graphic above, support for MSIX desktop apps and unpackaged desktop apps now goes through the stable, preview, and experimental channels. However, support for UWP apps is only available in the Experimental Channel. Microsoft sparked some debate with its recent announcement that “.NET 5/6 will not be available in UWP project types,” which many decried as yet another downgrade of UWP on the part of the company.
David Ramel is editor and writer for Converge360.