/WindowsAppSDK-Samples

Feature samples for the Windows App SDK

Primary LanguageC++MIT LicenseMIT

Windows App SDK Samples

This repository hosts samples for the Windows App SDK. Samples for various features shipping in the Windows App SDK will be added to this repository. For more information about the Windows App SDK, visit the Windows App SDK Documentation. To learn more about the Windows App SDK design or to contribute to the project, make feature proposals, or start discussions, visit the Windows App SDK GitHub page.

List of samples

App Lifecycle and System Services

  • App Lifecycle: These samples demonstrate app instancing using the AppLifecycle APIs. They include the following features:
    • Activation: These samples demonstrate support for rich activation kinds.
    • Instancing: These samples demonstrate support for single and selective multi-instancing.
    • Power Notifications: These samples demonstrate the power/system state notifications for managing app workload.

Data and Files

  • Resource Management: These samples demonstrates app resource management using the MRT Core APIs.

Deployment

  • Deployment Manager: This sample demonstrates how to initialize and access deployment information for the Windows App SDK runtime.
  • Installer: This sample demonstrates how to launch the Windows App SDK installer without a console window.
  • Unpackaged: These samples demonstrate auto-initialization with the Windows App SDK package from non-MSIX (unpackaged) application.

Dynamic Dependencies

  • DirectX: This sample demonstrates how to use the Dynamic Dependencies API to dynamically load the DirectX Runtime MSIX framework package.

Graphics

  • Text Rendering: This sample is a gallery of the DWriteCore APIs demonstrating text rendering.

User Interface and Input

Requirements

Thes Windows App SDK samples have the following system requirements:

  • Windows 10, version 1809 (build 17763) or later.

  • Visual Studio 2022 or Visual Studio 2019 version 16.9 or later, with the following workloads and components:

    • Universal Windows Platform development
    • .NET Desktop Development (needed even if you're only building C++ Win32 apps)
    • Desktop development with C++ (needed even if you're only building .NET apps)
    • Windows SDK version 2004 (build 19041) or later. This is installed with Visual Studio by default.
  • Building .NET apps also requires:

    • .NET 5 SDK version 5.0.400 or later if you're using Visual Studio 2019 version 16.11
    • .NET 5 SDK version 5.0.205 or later if you're using Visual Studio 2019 version 16.9

Refer to the docs on system requirements and tools for Windows app development for a detalied list of requirements for developing apps with the Windows App SDK.

Using the samples

To use the samples with Git, clone the WindowsAppSDK-Samples repository by running git clone https://github.com/microsoft/WindowsAppSDK-Samples.git from a command prompt. You can then navigate to the directory of a sample and open the solution file in Visual Studio.

The easiest way to use these samples without Git is to download the ZIP file. Select Download ZIP from the download dropdown, unzip the entire archive and open the samples in Visual Studio.

Samples versioning

The samples will be updated with GA releases of the Windows App SDK. The main branch includes the latest samples, which may also include experimental or preview features. Specific release branches are named release/x.y and contain samples that reference the corresponding GA version of the Windows App SDK. This repository currently includes the following release branches:

Contributing

These samples are provided by feature teams and we welcome your input on issues and suggestions for new samples. We encourage you to file a new issue for any feedback or questions!

Sample authors should follow the samples guidelines to begin developing their samples. For WinUI-based Windows App SDK samples, use the sample templates. The VSIX file is available for download in the Github releases page here.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.