Windows package manager
Chocolatey is a package manager for Windows like apt-get or yum but for Windows. With all of this in mind, think of Chocolatey as a framework that you can build on top of. Chef, Puppet, Boxstarter, PowerShell DSC, Ansible, Saltstack, etc all have ways for using Chocolatey to ensure the state of a computer and packages installed. Even Microsoft has decided to use Chocolatey's framework with the PowerShell PackageManagement / OneGet package manager aggregator.
Install
Update-ExecutionPolicy -Policy Unrestricted #Install Chocolatey iex ((new-object net.webclient).DownloadString("http://chocolatey.org/install.ps1")) #Reload profile . $profile # Explanation alias iwr #Alias iwr -> Invoke-WebRequest alias iex #Alias iex -> Invoke-Expression
Usage
choco install <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>] cinst <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>] choco uninstall <pkg|all> [pkg2 pkgN] [options/switches] cuninst <pkg|all> [pkg2 pkgN] [options/switches] choco list --local-only
Install packages
Often packages require to run .ps1 installation steps and you will be prompted with: "The package sublimetext2 wants to run 'chocolateyInstall.ps1'. Note: If you don't run this script, the installation will fail. Note: To confirm automatically next time, use '-y' or consider: choco feature enable -n allowGlobalConfirmation.. So use commands to achieve this:
choco feature enable -n allowGlobalConfirmation #one time off choco install -y notepadplusplus #per package
cinst putty 7zip cinst git-credential-manager-for-windows cinst poshgit #git prompt in PowerShell teminal cinst console-devel cinst notepadplusplus sublimetext2 atom cinst vlc cinst winmerge #add kdiff3 cinst googlechrome #add firefox cinst sourcetree cinst resharper cinst visualstudiocode cinst nodejs.install cinst dotpeek cinst fiddler4 #SSL packet inspection termination point and logging choco install dotnetcore-sdk #.Net Core SDK choco install dotnetcore-windowshosting #ASP.NET Core Module for IIS, enabling running of ASP.NET Core applications #Other Install-ChocolateyVsixPackage VS-Color-Output https://visualstudiogallery.msdn.microsoft.com/f4d9c2b5-d6d7-4543-a7a5-2d7ebabc2496/file/63103/9/VSColorOutput.vsix #Outdated #cinst git-credential-winstore #old use: Git Credential Manager for Windows
Install .net core
powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -useb 'https://dot.net/v1/dotnet-install.ps1'))) <additional install-script args>"
References
- dotnet-install-script Microsoft docs
Windows desktop developer settings
#Set-WinUserLanguageList -LanguageList en-GB Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions -EnableShowFullPathInTitleBar Enable-RemoteDesktop #Set-StartScreenOptio=ns -EnableBootToDesktop #Move-LibraryDirectory "Personal" "$env:UserProfile\<userName>\documents" #Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions -EnableShowFullPathInTitleBar -EnableOpenFileExplorerToQuickAccess -EnableShowRecentFilesInQuickAccess -EnableShowFrequentFoldersInQuickAccess -EnableExpandToOpenFolder #Set-TaskbarOptions -Size Small -Lock -Dock Top -Combine Always #Install-WindowsUpdate -AcceptEula
Resources
- Chocolatey - Software Management for Windows GitHub wiki