Tags: microsoft/winget-cli
Tags
Only download during COM download (#5348) Cherry pick #5327 to 1.10 ## Issue When `download` was added, the COM download and install split for dependencies was accidentally implemented. But it was validated only with download in mind, so the download part worked for download intent. With dependencies, the split basically attempted to install the dependencies twice, causing a failure on the second attempt due to internal assertions. ## Change For the COM download command, explicitly force that we are only downloading.
Dscv3 command base (#5280) ## Change Adds infrastructure for writing DSC v3 resource commands. Adds a new hidden command `dscv3` to put the resources under. Adds a file content resource (`DscTestFileResource`) that is only available when tests hooks are enabled. The resource infrastructure generates the resource manifest based on the defined functions and modifiers given to the base via `winget dscv3 <resource> --manifest`. It directs the `DscFunctions` it is given to the appropriate virtual method (`--get` maps to `ResourceFunctionGet`). Resources can define properties using the helper macro `WINGET_DSC_DEFINE_COMPOSABLE_PROPERTY` and create an object to represent their properties with `DscComposableObject`. This makes extracting and writing properties to JSON easy, as well as generating a schema.
Experimental support for DSC v3 processing (#5252) ## Change Adds experimental support for DSC v3 processing of configurations. When enabled, one can use DSC v3 instead of PowerShell DSC v2 by setting their processor to `dscv3` for the configuration like: ```yaml $schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json metadata: winget: processor: dscv3 resources: <continue with schema 0.3 resource definitions> ``` This is currently on-par with DSC v2 in terms of functionality, except for 2 things: 1. It does not attempt to ensure dsc.exe is present. It will find and use the preview MSIX packaged version of dsc.exe (Store ID: `9PCX3HX4HZ0Z`) if installed. Otherwise, you can specify the `--processor-path` to dsc.exe. 2. Resources for DSC v3 must be present on the system. There is not currently any mechanism to find and install new resources, as the paradigm is that they are part of the configurable item. There is no special handling of DSC v2 resources in the configuration; that could potentially come later. Also makes 0.3 schema not experimental and fixes configuration history for environments.
Update configuration environment behavior (#5186) ## Change In response to some other discussions, update the configuration environment behavior: 1. Add an environment at the set level 2. Don't inherit environment data into child units, and don't promote environment data when serializing Updated the one consumer of environment (dynamic factory) to be responsible for the flow of the security context from the set to the immediate child units. Also improved serialization of groups to output the non-resource properties.
Add msstore productId to export manifest and to wingetutil interop ma… …nifest object (#4934) This change was needed as part of the effort to make exported manifest (from winget download msstore apps) to be re-parsed and uploaded to winget rest source. Updated the some of the manifest schemas to add "required" for some required fields previously missing. Also, during my cross validation with the manifest schemas, I found ExpectedReturnCode::Custom was added in manifest but not actually updated in code. So I updated the ExpectedReturnCode map in code with this change too.
Add msstore productId to export manifest and to wingetutil interop ma… …nifest object (#4934) This change was needed as part of the effort to make exported manifest (from winget download msstore apps) to be re-parsed and uploaded to winget rest source. Updated the some of the manifest schemas to add "required" for some required fields previously missing. Also, during my cross validation with the manifest schemas, I found ExpectedReturnCode::Custom was added in manifest but not actually updated in code. So I updated the ExpectedReturnCode map in code with this change too.
PreviousNext