microsoft / microsoft/WindowsAppSDK

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

Open
#6,201 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-WinAppSDKDeployment needs-triage
Dominant language
C++
Stars
4.7k
Forks
471
Avg merge
3d 13h
Merged PRs (30d)
28

Description

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the Microsoft.WindowsAppSDK.Foundation 1.8.251220000 NuGet package under lib\native\x64, then trace how the WindowsAppSdkBootstrapLibrary property is handled in the unpackaged C++ .vcxproj build. Reproduce the issue with Windows App SDK 1.8.4 and verify that a statically linked executable starts without Microsoft.WindowsAppRuntime.Bootstrap.dll.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.