Skip to content

Reduce Windows release package size#4733

Open
Marc-André Moreau (mamoreau-devolutions) wants to merge 2 commits intomainfrom
mamoreau-devolutions/zip-size-analysis
Open

Reduce Windows release package size#4733
Marc-André Moreau (mamoreau-devolutions) wants to merge 2 commits intomainfrom
mamoreau-devolutions/zip-size-analysis

Conversation

@mamoreau-devolutions
Copy link
Copy Markdown
Contributor

@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) commented May 10, 2026

Summary

  • publish the bundled pinget.exe as trimmed single-file output while keeping Release ReadyToRun enabled
  • keep JSON reflection enabled for pinget so structured output still works after trimming
  • remove oversized PDBs recursively from the Windows release staging directory

Size impact

  • x64 staged ZIP after these changes: 185.01 MiB compressed, 470.49 MiB uncompressed
  • x64 pinget.exe: 32.29 MiB after changes, down from about 83.65 MiB
  • isolated arm64 pinget publish with trimming and ReadyToRun disabled previously showed the lower bound at 18.31 MiB; ReadyToRun is intentionally kept enabled in this PR despite the extra size

Validation

  • dotnet publish src\UniGetUI\UniGetUI.csproj --tl:off /noLogo /p:Configuration=Release /p:Platform=x64 -p:RuntimeIdentifier=win-x64 -v minimal
  • bundled pinget.exe source list -o json
  • focused pinget.exe --help
  • focused pinget.exe source list -o json
  • dotnet restore UniGetUI.Windows.slnx /p:Platform=x64 --tl:off --verbosity minimal
  • dotnet test UniGetUI.Windows.slnx --no-restore --verbosity q --nologo /p:Platform=x64

Trim the bundled pinget single-file publish and disable ReadyToRun for that helper so it no longer embeds a large untrimmed runtime payload. Also remove oversized PDBs recursively from the staged Windows release package.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the bundled pinget helper trimmed, but allow Release ReadyToRun to remain enabled for startup performance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant