winget-cli icon indicating copy to clipboard operation
winget-cli copied to clipboard

`winget configure` creates invalid documents, and fails to accept valid documents

Open EmperorArthur opened this issue 3 weeks ago • 1 comments

Relevant area(s)

WinGet CLI

Relevant command(s)

winget configure

Brief description of your issue

winget configure exports and validates, but does not follow the configuration schema supplied.

Winget export produces a file with the following line:

$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json

Which ends up referencing document.resource.json.

That mandates the "dependsOn" attribute have the format "[resourceId('<resource-type-name>', '<instance-name>']".

However, the generated document and the winget dsc validate command both only accept the resource name.

Steps to reproduce

  1. Run winget dsc export -o test.yaml --all
  2. Run winget dsc validate -f test.yaml, and observe the results.
  3. Examine the linked schema document, or use a 3rd party schema validator.4. Adjust "dependsOn" field in the exported document to match the expected schema.
  4. Run winget dsc validate -f test.yaml, and observe the results.

You may also attempt to use dsc.exe with the exported document, and observe it failing from invalid "dependsOn" contents.

Expected behavior

  • Exported document is valid per the schema.
  • winget dsc validate fails when the document does not match the YAML schema.

Actual behavior

  • Exported document is invalid.
  • winget dsc validate succeeds with exported document, but fails with a document which is invalid.

Environment

Windows 10 LTSC

[winget --info]
Windows Package Manager v1.12.350
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19044.6575
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.27.350.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %REDACTED%\Downloads
Configuration Modules              %LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Enabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled

EmperorArthur avatar Dec 02 '25 22:12 EmperorArthur

Related to #5675.

EmperorArthur avatar Dec 02 '25 22:12 EmperorArthur