/Foil

A PowerShell Crescendo wrapper for Chocolatey

Primary LanguagePowerShellMIT LicenseMIT

CI

Foil

Foil is a PowerShell Crescendo wrapper for Chocolatey

Install Foil

Install-Module Foil -Force

Sample usages

Search for a package

Find-ChocoPackage -Name nodejs

Find-ChocoPackage -Name firefox -Exact

Install a package

Find-ChocoPackage nodejs -Exact -Verbose | Install-ChocoPackage

Install-ChocoPackage -Name 7zip -Verbose

Get list of installed packages

Get-ChocoPackage nodejs -LocalOnly -Verbose

Uninstall a package

Get-ChocoPackage keepass-plugin-winhello -LocalOnly -Verbose | Uninstall-ChocoPackage -Verbose -RemoveDependencies

Manage package sources

Register-ChocoSource privateRepo -Location 'https://somewhere/out/there/api/v2/'
Get-ChocoPackage nodejs -Verbose -Source privateRepo -Exact | Install-ChocoPackage
Unregister-ChocoSource privateRepo

Foil integrates with Choco.exe to manage and store source information

Pass in package parameters

The Install-ChocoPackage cmdlet allows passing package parameters.

Install-ChocoPackage sysinternals -AcceptLicense -ParamsGlobal -Params '/InstallDir:c:\windows\temp\sysinternals /QuickLaunchShortcut:false' -Verbose

Known Issues

Compatibility

Foil works with PowerShell for both FullCLR/'Desktop' (ex 5.1) and CoreCLR (ex: 7.0.1), though Chocolatey itself still requires FullCLR.

The -LocalOnly switch for Get-ChocoPackage becomes deprecated when used with Chocolatey v2.0.0, due to it becoming redundant with a change to choco list (see chocolatey/choco#158).

The use of Get-ChocoPackage for package search operations (and it's -Source parameter) is deprecated, as Get-ChocoPackage only looks at installed packages beginning with Chocolatey v2.0.0 and higher. Users must upgrade to Foil v0.3.0 or higher and migrate package search operations to Find-ChocoPackage prior to the release of Chocolatey v2.0.0 to ensure continued compatibility.

Legal and Licensing

Foil is licensed under the MIT license.