Skip to content

feat: add MSIX installer and migrate to .NET 10#1

Merged
s-barn merged 14 commits intomainfrom
feature/msix-installer
Mar 31, 2026
Merged

feat: add MSIX installer and migrate to .NET 10#1
s-barn merged 14 commits intomainfrom
feature/msix-installer

Conversation

@s-barn
Copy link
Copy Markdown
Owner

@s-barn s-barn commented Mar 31, 2026

Summary

  • Migrates all projects from .NET 8 to .NET 10
  • Adds a Windows Application Packaging Project (`WindowSeat.Package.wapproj`) that produces an unsigned MSIX for Microsoft Store submission via Partner Center
  • Updates CI release workflow to build the MSIX with MSBuild and upload it as a workflow artifact; GitHub Releases continues to ship a plain ZIP
  • Adds local packaging support to `scripts/build.ps1 -Package`
  • Updates user documentation with Store and ZIP install/uninstall instructions
  • Fixes several pre-existing issues: missing `windowseat.ico`, WPF-incompatible `PlaceholderText` XAML attribute, and spurious `WindowMover` constructor argument

Test Plan

  • All 4 unit tests pass (`dotnet test`)
  • Push a `v*..` tag and verify the Release workflow produces a ZIP asset on the GitHub Release draft and an MSIX artifact uploaded to the workflow run
  • Verify the MSIX artifact can be submitted to Partner Center (Publisher: `CN=4E8B8DF2-E078-41CF-871B-1CEF8CC0E1DC`, App: `SteveBarnes.WindowSeat`)

🤖 Generated with Claude Code

s-barn and others added 14 commits March 31, 2026 14:28
Documents the wapproj-based MSIX packaging approach for Microsoft Store
distribution, including package identity, manifest structure, CI pipeline
changes, and local build script updates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Step-by-step plan for wapproj setup, manifest, CI pipeline changes,
local build script, and documentation updates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Update all project TFMs from net8.0-windows to net10.0-windows
- Update CI workflows to setup-dotnet 10.0.x
- Remove redundant System.Text.Json package reference (inbox in .NET 10)
- Fix PlaceholderText (WinUI-only) → ToolTip on ExclusionTextBox
- Fix WindowMover constructor call (drop spurious settingsService arg)
- Add placeholder windowseat.ico (was missing from repo)
- Update docs to reference .NET 10 SDK

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…approj

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The build step only compiled the app project, leaving the test DLL
absent. --no-build on dotnet test then failed to find it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@s-barn s-barn self-assigned this Mar 31, 2026
@s-barn s-barn merged commit 485b6e2 into main Mar 31, 2026
4 checks passed
@s-barn s-barn deleted the feature/msix-installer branch March 31, 2026 23:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant