Skip to content

Specification: Native DSC v3 Resources in WinGet Client - #6291

Draft
Demitrius Nelon (denelon) wants to merge 4 commits into
microsoft:masterfrom
denelon:spec/dsc-resource-implementation
Draft

Specification: Native DSC v3 Resources in WinGet Client#6291
Demitrius Nelon (denelon) wants to merge 4 commits into
microsoft:masterfrom
denelon:spec/dsc-resource-implementation

Conversation

@denelon

@denelon Demitrius Nelon (denelon) commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

📖 Description

Updates the specification for native DSC v3 command resources shipped with the WinGet client.

The specification now:

  • Documents the existing Microsoft.WinGet/Package, Source, UserSettingsFile, and
    AdminSettings resources using their actual winget dscv3 manifest protocol.
  • Keeps winget configure as the user-facing command and preserves winget dsc as its existing
    alias.
  • Enhances Microsoft.WinGet/Package with an optional installerType property that becomes a
    required package-selection constraint when specified.
  • Proposes Microsoft.WinGet/PackageList for managing package sets with per-package settings and
    opt-in DSC _purge semantics.
  • Restricts purge to packages WinGet can identify as authoritatively managed, excludes unknown or
    best-effort-correlated software, defaults _purge to false, and requires an enabling Group
    Policy.
  • Proposes a singular Microsoft.WinGet/Pin resource using DSC _exist; configurations use
    multiple resource instances to manage multiple pins.
  • Uses the current WinGet Configuration v3 document structure in all examples.
  • References the parallel installation specification for scheduling rather than defining separate
    concurrency behavior.
  • Defines configuration export, telemetry, rollout, security, compatibility, and cross-repository
    impact.

The emitted manifests and schemas were compared with WinGet v1.30.100-preview, including
winget dscv3 package --manifest and the corresponding --schema commands.

Authored with GitHub Copilot assistance.

🔗 References

Related Issues:

Related Specifications:

🔍 Validation

Specification document only. Verified the documented command shapes against the manifests and
schemas emitted by the current WinGet preview client.

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task
Microsoft Reviewers: Open in CodeFlow

Specification for native command-based DSC v3 resources shipped with
the WinGet client, including Package, PackageList, Source, Settings,
and Pin resources. Eliminates ~92s adapter overhead per resource.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
- Merge PackageList into Package (list mode via 'packages' array, single via 'id')
- Document existing AdminSettings resource (requires elevation, separate from UserSettings)
- Acknowledge existing winget dsc infrastructure; reframe spec as extending it
- Clarify resource table: existing vs enhanced vs new resources

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

This comment has been minimized.

Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
Comment thread doc/specs/#6289 - Native DSC v3 Resources.md Outdated
@microsoft-github-policy-service microsoft-github-policy-service Bot added the No-Recent-Activity Issue has no recent activity label Aug 5, 2026
@denelon Demitrius Nelon (denelon) removed Needs-Author-Feedback Issue needs attention from issue or PR author No-Recent-Activity Issue has no recent activity labels Aug 5, 2026
Align the specification with existing WinGet DSC command resources, current v3 configuration syntax, guarded package-list purge semantics, installer-type requirements, and the parallel installation design.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ee37c8b6-0de7-42f1-8628-dbaa1fcf75db
Replace the unrecognized FCIB acronym with its full wording in the native DSC resource specification.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ee37c8b6-0de7-42f1-8628-dbaa1fcf75db
@github-actions

This comment has been minimized.

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.

3 participants