Ruby 2.6を確認画面なしでインストール・アンインストールし、展開ツールで検出するためのコマンドです。マニフェストの記載か、インストーラー技術の既定値として確実なコマンドだけを表示しています。
関連ガイド: サイレントインストールのオプション一覧 · レジストリとPowerShellでアンインストールする方法
wingetを使う
PowerShell
winget install --id RubyInstallerTeam.Ruby.2.6 -e --silent --accept-package-agreements --accept-source-agreementswinget upgrade --id RubyInstallerTeam.Ruby.2.6 -e --silentwinget uninstall --id RubyInstallerTeam.Ruby.2.6 -e --silentインストーラー別
64ビット · EXE(Inno Setup) · すべてのユーザー
サイレントインストール
rubyinstaller-2.6.10-1-x64.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-インストール先を指定
rubyinstaller-2.6.10-1-x64.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /DIR="C:\Apps\ruby-2-6"- アンインストール用レジストリキー
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RubyInstaller-2.6-x64-mingw32_is1
32ビット · EXE(Inno Setup) · すべてのユーザー
サイレントインストール
rubyinstaller-2.6.10-1-x86.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-インストール先を指定
rubyinstaller-2.6.10-1-x86.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /DIR="C:\Apps\ruby-2-6"- アンインストール用レジストリキー
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\RubyInstaller-2.6-i386-mingw32_is1
PowerShell:ダウンロード・検証・インストール
公式ファイルをダウンロードし、SHA256を検証してからサイレントインストールします。
install-ruby-2-6.ps1
$url = 'https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.10-1/rubyinstaller-2.6.10-1-x64.exe'
$sha256 = '75A012053B5758723E7DE9DB5AB2B8B87EEF13EF6040F3205FEEE0595AFD3A67'
$file = Join-Path $env:TEMP 'rubyinstaller-2.6.10-1-x64.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' -Wait install-ruby-2-6.ps1
$url = 'https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.10-1/rubyinstaller-2.6.10-1-x86.exe'
$sha256 = 'F6E5852B0934EE7D2709D8981883FA6134D2406116165C14DC32282D296F41CA'
$file = Join-Path $env:TEMP 'rubyinstaller-2.6.10-1-x86.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' -Wait