Chocolatey
> Get-ExecutionPolicy
Restricted
> Set-ExecutionPolicy AllSigned
OR
> Set-ExecutionPolicy Bypass -Scope Process
> $PSVersionTable.PSVersion
> host
> Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
> choco --version
> $env:ChocolateyInstall
> choco upgrade chocolatey
> choco feature -?
> choco feature list
> choco feature enable -n allowGlobalConfirmation # 避免每次回答 Y
> choco feature enable -name=exitOnRebootDetected # 不执行重启检测
# 软件原生安装目录
C:\Program Files
C:\Program Files (x86)
C:\Users\<username>\AppData
# Chocolatey 安装目录
C:\ProgramData\chocolatey
# 通过环境变量设置软件安装目录
[environment]::setEnvironmentVariable('ChocolateyInstall','C:\ProgramData\chocolatey','Machine')
[environment]::setEnvironmentVariable('ChocolateyToolsLocation','D:\Choco','Machine')
# 非管理员安装默认路径是 C:\ProgramData\chocoportable
$env:path += ";C:\ProgramData\chocoportable"
$InstallDir='C:\ProgramData\chocoportable'
$env:ChocolateyInstall="$InstallDir"
> choco outdated --proxy=localhost:1080
> choco -?
> choco search <package name>
> choco info <package name>
> choco install <package name>
> choco uninstall <package name>
> refreshenv
> choco upgrade <package name>
> choco upgrade all
> choco list -l > chocolatey.txt
> choco install -y software1 software2 ...
> choco source add -n=MyCustomSource -s=https://example.com/packages/
> choco source remove -n=MyCustomSource
Chocolatey GUI
> choco install chocolateygui
> chocolateygui
WinGet
> winget features
> winget settiings
settings.json
"experimentalFeatures": {
"uninstall": true,
"upgrade": true,
"list": true,
"experimentalMSStore": true
},
"visual": {
"progressBar": "accent" #accent,retro,rainbow
},
> winget -?
> winget show <package name>
> winget search <package name>
> winget install <package name>
Scoop
> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Modify Installation Location
> $env:SCOOP='D:\Applications\Scoop'
> $env:SCOOP_GLOBAL='F:\GlobalScoopApps'
> [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
> [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
Setting PowerShell Execution Policies and Downloading Installation Scripts
> irm get.scoop.sh -outfile 'install.ps1'
> .\install.ps1 -RunAsAdmin [-OtherParameters ...]
> iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
> scoop checkup
> scoop help
> scoop search git
> scoop install git
> scoop update git
> scoop status git
> scoop uninstall git
> scoop info git
> scoop home git
> scoop hold/unhold git
> scoop bucket known
> scoop uninstall scoop
Setting up a proxy
> scoop config proxy 127.0.0.1:7890
Multi-threaded downloads
> scoop config aria2-enabled true
> scoop config aria2-options --check-certificate=false