Skip to content

Clean up SDK packs and manifests on uninstall - #351

Merged
agocke merged 5 commits into
dn-vm:mainfrom
agocke:fix-uninstall-pack-cleanup
Aug 9, 2026
Merged

Clean up SDK packs and manifests on uninstall#351
agocke merged 5 commits into
dn-vm:mainfrom
agocke:fix-uninstall-pack-cleanup

Conversation

@agocke

@agocke agocke commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • remove SDK-owned runtime, ASP.NET, and Windows Desktop reference packs when no installed SDK still needs them
  • preserve packs referenced by workload installation metadata
  • record the exact sdk-manifests feature bands contributed by each SDK archive
  • safely prune manifest bands only when no SDK or workload still references them
  • distinguish legacy-unknown ownership from archives known to contain no workload manifests
  • refresh cleanup metadata on forced reinstall
  • add manifest schema v10 for Windows Desktop component versions and manifest ownership

Workload-owned packs such as iOS, Android, Mono, and AOT cross-compilation packs are not removed.

Testing

  • dotnet test test/UnitTests/UnitTests.csproj --nologo (196 passed)
  • dotnet test test/IntegrationTests/IntegrationTests.csproj --nologo (18 passed, 1 skipped)

agocke added 5 commits August 8, 2026 16:30
Remove SDK-owned reference packs and safely prune workload manifests while preserving files shared by other SDKs or workloads.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ee57eeb5-f628-412d-8641-f5952aef0516
Resolve overlap with the merged directory-scoped uninstall and prune fixes while retaining the stronger pack-cleanup coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ee57eeb5-f628-412d-8641-f5952aef0516
Distinguish known-empty SDK manifest ownership from legacy unknown records, and preserve SDK-provided packs referenced by workload installation metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ee57eeb5-f628-412d-8641-f5952aef0516
Use Serde string conversions for the v10 SDK directory wrapper instead of a custom serializer implementation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ee57eeb5-f628-412d-8641-f5952aef0516
Use Serde type-wide proxy registration for direct and collection SemVersion members while retaining the explicit nullable wrapper.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ee57eeb5-f628-412d-8641-f5952aef0516
@agocke
agocke merged commit 86128c4 into dn-vm:main Aug 9, 2026
3 checks passed
@agocke
agocke deleted the fix-uninstall-pack-cleanup branch August 9, 2026 07:54
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