https://github.com/microsoft/VisualStudioDSC
DSC resources to simplify state management of installed Visual Studio instances
https://github.com/microsoft/VisualStudioDSC
Last synced: 5 months ago
JSON representation
DSC resources to simplify state management of installed Visual Studio instances
- Host: GitHub
- URL: https://github.com/microsoft/VisualStudioDSC
- Owner: microsoft
- License: mit
- Created: 2023-05-04T17:32:17.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-27T23:38:07.000Z (7 months ago)
- Last Synced: 2024-11-21T15:43:50.703Z (5 months ago)
- Language: PowerShell
- Size: 39.1 KB
- Stars: 13
- Watchers: 6
- Forks: 7
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
- jimsghstars - microsoft/VisualStudioDSC - DSC resources to simplify state management of installed Visual Studio instances (PowerShell)
README
# Visual Studio Desired State Configuration (DSC) Resource Provider
DSC resources to simplify state management of installed Visual Studio instances.
## VSComponents Resource
The `VSComponents` resource is used to modify a pre-existing Visual Studio instance in order to add additional [components](https://learn.microsoft.com/visualstudio/install/workload-and-component-ids). It is meant to accompany the [`winget configure`](https://learn.microsoft.com/windows/package-manager/winget/configure) command.
You currently need administrator permissions to use this resource to install or modify Visual Studio. Furthermore, Visual Studio must be closed in order to update or add components to it.
Refer to [Use winget to install or modify Visual Studio](https://learn.microsoft.com/visualstudio/install/use-command-line-parameters-to-install-visual-studio?#use-winget-to-install-or-modify-visual-studio) for additional information.
### Parameters
At least `VSConfigFile` or `Components` must be specified. You can also specify both simultaneously.
**Parameter**|**Attribute**|**DataType**|**Description**|**Allowed Values**
:-----|:-----|:-----|:-----|:-----
`ProductId`|Key|String|The product identifier of the instance you are working with. EG: `Microsoft.VisualStudio.Product.Community`|See [workload and component ids](https://learn.microsoft.com/visualstudio/install/workload-and-component-ids)
`ChannelId`|Key|String|The channel identifier of the instance you are working with. EG: `VisualStudio.17.Release`|See [channel identifiers](https://learn.microsoft.com/visualstudio/install/command-line-parameter-examples#using---channeluri)
`Components`|Optional|StringArray[]|Collection of component identifiers you wish to update the provided instance with.|See [workload and component ids](https://learn.microsoft.com/visualstudio/install/workload-and-component-ids)
`VSConfigFile`|Optional|String|Path to the [Installation Configuration (VSConfig) file](https://learn.microsoft.com/visualstudio/install/import-export-installation-configurations) you wish to update the provided instance with.|Valid file path to a .vsconfig file
`IncludeRecommended`|Optional|Boolean|For the provided required components, also add recommended components into the specified instance|True/False
`IncludeOptional`|Optional|Boolean|For the provided required components, also add optional components into the specified instance|True/False
`AllowUnsignedExtensions`|Optional|Boolean|For the provided extensions, allow installing unsigned extensions into the specified instance|True/False
`InstalledComponents`|NotConfigurable|StringArray[]|A collection of components installed in the Visual Studio instance identified by the provided Product ID and Channel ID.|N/A## Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.When you submit a pull request, a CLA bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [[email protected]](mailto:[email protected]) with any additional questions or comments.## Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
trademarks or logos is subject to and must follow
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Any use of third-party trademarks or logos are subject to those third-party's policies.