A simple PowerShell script that takes in two CSV files. One contains registry values that will be created or modified. The other a list of Chocolately packages and any optional parameters that will be installed.
Both CSV files use '|' as the delimiter, as there are cases where commas are needed in the values.
The registry values CSV has the form:
- Path: the path to the registry key
- Name: the name of the registry key to be created/modified
- Value: the new value of the registry key (strings should be surrounded by quotes & hex values prefixed by 0x)
- Type: the registry entry data key (Binary, DWord, ExpandString, MultiString, QWord or String)
- Description: free text describing what the entry does
The Chocolately packages CSV has the form:
- Package: the name of the choco package to install
- Parameters: any optional choco install command arguments
The script needs to be run as an administrator and will check for Chocolately, if not found it will be installed, otherwise, an update will be requested.
- [string]RegValsPath: the path to the registry values CSV file
- [switch]CommitReg if set the registry will be modified
- [string]ChocoPackagesPath the path to the choco packages CSV file
- [switch]CommitChoco if set the choco packages will be installed