Skip to content

Missing static Bootstrapper library in Windows App SDK 1.8 (Unpackaged C++) #6201

@BartcreeBart

Description

@BartcreeBart

Describe the bug

I am trying to statically link the Bootstrapper in an unpackaged C++ WinUI 3 application using Windows App SDK 1.8 (1.8.260101001), but it appears the actual static library binary is missing from the NuGet package.

This allowed the application to initialize the runtime without Microsoft.WindowsAppRuntime.Bootstrap.dll.

However, in version 1.8, despite enabling this property, the application still requires the Bootstrap DLL.

Upon inspecting the contents of the NuGet package Microsoft.WindowsAppSDK.Foundation (specifically version 1.8.251220000 which comes with 1.8), I observed the following in lib\native\x64:

File: Microsoft.WindowsAppRuntime.Bootstrap.lib
Size: ~3 KB
The file should be larger.

Steps to reproduce the bug

  1. Create a C++ WinUI 3 project (Unpackaged).
  2. Update to Windows App SDK 1.8.
  3. Add Static to the project file (.vcxproj).
  4. Build the project.
  5. observe that Microsoft.WindowsAppRuntime.Bootstrap.dll is still copied to the return directory.
  6. If the DLL is manually removed, the application fails to start (System Error: missing dll), confirming it is dynamically linked.

Expected behavior

The Bootstrapper code should be statically linked into the executable when the Static property is set, removing the runtime dependency on Microsoft.WindowsAppRuntime.Bootstrap.dll.

Screenshots

No response

NuGet package version

Windows App SDK 1.8.4: 1.8.260101001

Packaging type

Unpackaged

Windows version

Windows 10 version 22H2 (19045, 2022 Update)

IDE

Visual Studio 2022-preview

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-WinAppSDKDeploymentIssues related to packaging, installation, runtime (e.g., SelfContained, Unpackaged)needs-triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions