From 401305efc68431b79564e51d149c4220fbc5eb51 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Thu, 20 Aug 2026 17:28:04 -0500 Subject: [PATCH] fix: launch on 25H2 by using the installed WASDK 2.4 runtime. Self-contained WASDK 2.4.0 ships CoreMessagingXP 10.0.27200.1048, which fail-fasts (0xC0000602) at the first Window() on Windows 11 25H2. Also give the tray icon a generated glyph so ForceCreate has an IconSource. --- .github/workflows/release.yml | 1 + CHANGELOG.md | 2 ++ README.md | 3 +-- publish.ps1 | 2 +- src/Reentry.App/Reentry.App.csproj | 8 ++++--- src/Reentry.App/Services/TrayIconHost.cs | 30 +++++++++++++++--------- 6 files changed, 29 insertions(+), 17 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ec25806..25821f2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -184,6 +184,7 @@ jobs: '## Requirements' '' '- **Windows 10/11 (x64)**' + '- **Windows App SDK 2.4** runtime' '- **.NET 10 Desktop Runtime** — https://dotnet.microsoft.com/download/dotnet/10.0' '' '## Notes' diff --git a/CHANGELOG.md b/CHANGELOG.md index 58259cb..c156b77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ All notable changes to Reentry are documented here. The format follows ## [Unreleased] +- Launch on Windows 11 25H2: use the installed WASDK 2.4 runtime instead of the self-contained CoreMessagingXP payload (0xC0000602). Give the tray icon a generated glyph so ForceCreate has an IconSource. + ## [0.1.0-alpha1] - 2026-08-20 First scaffold — a Windows startup / session-restore monitor. diff --git a/README.md b/README.md index 6a9f49d..06cc234 100644 --- a/README.md +++ b/README.md @@ -62,8 +62,7 @@ pwsh ./publish.ps1 -SelfContained # bundles the .NET runtime (portable, larger) → `publish/Reentry.exe` -The Windows App SDK runtime is bundled (`WindowsAppSDKSelfContained=true`); the -app is unpackaged (`WindowsPackageType=None`). +The app is unpackaged (`WindowsPackageType=None`) and uses the installed Windows App SDK 2.4 runtime (`WindowsAppSDKSelfContained=false`). The self-contained 2.4 CoreMessagingXP payload fail-fasts on Windows 11 25H2. --- diff --git a/publish.ps1 b/publish.ps1 index 4c9b28c..988eef0 100644 --- a/publish.ps1 +++ b/publish.ps1 @@ -1,6 +1,6 @@ # Publishes Reentry as a framework-dependent Windows app into .\publish\. # Requires the .NET 10 Desktop Runtime on the target machine. -# The Windows App SDK runtime is bundled (WindowsAppSDKSelfContained=true). +# Requires the Windows App SDK 2.4 runtime (WindowsAppSDKSelfContained=false; the self-contained 2.4 CoreMessagingXP payload fail-fasts on Windows 11 25H2). # # Usage: pwsh ./publish.ps1 (framework-dependent .NET, small) # pwsh ./publish.ps1 -SelfContained (bundles the .NET runtime, large but portable) diff --git a/src/Reentry.App/Reentry.App.csproj b/src/Reentry.App/Reentry.App.csproj index a06691f..b38354c 100644 --- a/src/Reentry.App/Reentry.App.csproj +++ b/src/Reentry.App/Reentry.App.csproj @@ -13,7 +13,10 @@ true false None - true + + false true false app.manifest @@ -38,7 +41,6 @@ all - @@ -50,4 +52,4 @@ - + diff --git a/src/Reentry.App/Services/TrayIconHost.cs b/src/Reentry.App/Services/TrayIconHost.cs index b0ba7da..53e921b 100644 --- a/src/Reentry.App/Services/TrayIconHost.cs +++ b/src/Reentry.App/Services/TrayIconHost.cs @@ -19,18 +19,26 @@ public TrayIconHost(Action showHud, Action showSettings, Action exit) public void Show() { - var menu = new MenuFlyout(); - menu.Items.Add(Item("Show progress", _showHud)); - menu.Items.Add(Item("Settings", _showSettings)); - menu.Items.Add(new MenuFlyoutSeparator()); - menu.Items.Add(Item("Exit", _exit)); + try + { + var menu = new MenuFlyout(); + menu.Items.Add(Item("Show progress", _showHud)); + menu.Items.Add(Item("Settings", _showSettings)); + menu.Items.Add(new MenuFlyoutSeparator()); + menu.Items.Add(Item("Exit", _exit)); - _icon = new TaskbarIcon + _icon = new TaskbarIcon + { + ToolTipText = "Reentry", + ContextFlyout = menu, + IconSource = new GeneratedIconSource { Text = "R" }, + }; + _icon.ForceCreate(); + } + catch (Exception ex) { - ToolTipText = "Reentry", - ContextFlyout = menu, - }; - _icon.ForceCreate(); + System.Diagnostics.Debug.WriteLine(ex); + } } private static MenuFlyoutItem Item(string text, Action action) @@ -41,4 +49,4 @@ private static MenuFlyoutItem Item(string text, Action action) } public void Dispose() => _icon?.Dispose(); -} +}