winget-cli
winget-cli copied to clipboard
`winget configure` creates invalid documents, and fails to accept valid documents
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
- Run
winget dsc export -o test.yaml --all - Run
winget dsc validate -f test.yaml, and observe the results. - 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.
- 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 validatefails when the document does not match the YAML schema.
Actual behavior
- Exported document is invalid.
winget dsc validatesucceeds 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
Related to #5675.