winget
を使う
winget
コマンドは Windows11では標準で使える。
Windows10では使えない場合がある。
公式の文書では「アプリ インストーラーを取得」と書いてあるが、Microsoft Storeを更新すれば使えるようになる。
Microsoft Storeのアプリを起動して、「ダウンロードと更新」からMicrosoft Storeを更新するとUIが変わった新しいバージョンへと更新される。その後PowerShellなどを起動すれば winget
が使えるようになっている。(Windows10 ver.1709 OSビルド 16299 以上が必要)
Visual C++ 再頒布可能パッケージを探す
一応、再頒布可能パッケージの配布ページへ行けばそれぞれのインストーラを取得することができるが winget
を使えばブラウザから検索して探す手間がなくなる。
winget
でインストールできるものを探すときは winget search
を使う。
ID名などが変わったので編集しました
以前は 「VC++」で検索してみると次のように表示された。
PS C:\Users\public> winget search VC++
名前 ID バージョン 一致 ソース
------------------------------------------------------------------------------------------------------------------------
Microsoft Visual C++ 2022 Redistributable (Arm64) Microsoft.VC++2022Redist-arm64 14.32.31332.0 winget
Microsoft Visual C++ 2019 Redistributable (Arm64) Microsoft.VC++2019Redist-arm64 14.29.30139.0 winget
Microsoft Visual C++ 2017 Redistributable (x86) Microsoft.VC++2017Redist-x86 14.20.27404.0 winget
Microsoft Visual C++ 2017 Redistributable (x64) Microsoft.VC++2017Redist-x64 14.20.27404.0 winget
Microsoft Visual C++ 2015 Redistributable (x86) Microsoft.VC++2015Redist-x86 14.0.24516.0 winget
Microsoft Visual C++ 2015 Redistributable (x64) Microsoft.VC++2015Redist-x64 14.0.24516.0 winget
Microsoft Visual C++ 2015-2022 Redistributable (x86) Microsoft.VC++2015-2022Redist-x86 14.32.31332.0 winget
Microsoft Visual C++ 2015-2022 Redistributable (x64) Microsoft.VC++2015-2022Redist-x64 14.32.31332.0 winget
Microsoft Visual C++ 2015-2019 Redistributable (x86) Microsoft.VC++2015-2019Redist-x86 14.29.30139.0 winget
Microsoft Visual C++ 2015-2019 Redistributable (x64) Microsoft.VC++2015-2019Redist-x64 14.29.30139.0 winget
Microsoft Visual C++ 2013 Redistributable (x86) Microsoft.VC++2013Redist-x86 12.0.40664.0 winget
Microsoft Visual C++ 2013 Redistributable (x64) Microsoft.VC++2013Redist-x64 12.0.40664.0 winget
Microsoft Visual C++ 2012 Redistributable (x86) Microsoft.VC++2012Redist-x86 11.0.61030.0 winget
Microsoft Visual C++ 2012 Redistributable (x64) Microsoft.VC++2012Redist-x64 11.0.61030.0 winget
Microsoft Visual C++ 2010 x86 Redistributable Microsoft.VC++2010Redist-x86 10.0.40219 winget
Microsoft Visual C++ 2010 x64 Redistributable Microsoft.VC++2010Redist-x64 10.0.40219 winget
Microsoft Visual C++ 2008 Redistributable - x86 Microsoft.VC++2008Redist-x86 9.0.30729.6161 winget
Microsoft Visual C++ 2008 Redistributable - x64 Microsoft.VC++2008Redist-x64 9.0.30729.6161 winget
Microsoft Visual C++ 2005 Redistributable Microsoft.VC++2005Redist-x86 8.0.61001 winget
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VC++2005Redist-x64 8.0.61000 winget
Redpanda-C++ RoyQu.RedPanda-C++ 1.2 Tag: devc++ winget
Dev-C++ Orwell.Dev-C++ 5.11 Tag: DevC++ winget
Embarcadero Dev-C++ Embarcadero.Dev-C++ 6.3 Tag: DevC++ winget
現在はこんな感じ $\Downarrow$
PS C:\Users\public>winget search VC++
名前 ID バージョン 一致 ソース
--------------------------------------------------------------------------------------------------------------
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x64 8.0.61000 Tag: vc++ winget
Microsoft Visual C++ 2005 Redistributable Microsoft.VCRedist.2005.x86 8.0.61001 Tag: vc++ winget
Microsoft Visual C++ 2008 Redistributable - x64 Microsoft.VCRedist.2008.x64 9.0.30729.6161 Tag: vc++ winget
Microsoft Visual C++ 2008 Redistributable - x86 Microsoft.VCRedist.2008.x86 9.0.30729.6161 Tag: vc++ winget
Microsoft Visual C++ 2008 Redistributable - x86 Microsoft.VC++2008Redist-x86 9.0.30729.6161 winget
Microsoft Visual C++ 2008 Redistributable - x64 Microsoft.VC++2008Redist-x64 9.0.30729.6161 winget
Redpanda-C++ RoyQu.RedPanda-C++ 1.4 Tag: devc++ winget
Dev-C++ Orwell.Dev-C++ 5.11 Tag: devc++ winget
Embarcadero Dev-C++ Embarcadero.Dev-C++ 6.3 Tag: devc++ winget
IDが Microsoft
直下から Microsoft.VCRedist
の下に配置されたので 「VC++」で検索しても見つかりません。
(何故か2005と2008は旧IDが残っていたり「vc++」タグが付いている、そのうち修正されるかも?)
2022/10/17 時点では 「VCR」で検索してみると次のように表示される。
PS C:\Users\public>winget search vcr
名前 ID バージョン ソース
----------------------------------------------------------------------------------------------------------
VCR 9WZDNCRDHHF2 Unknown msstore
VcRead 9WZDNCRDP582 Unknown msstore
MarkRight dvcrn.markright 0.1.11 winget
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x64 8.0.61000 winget
Microsoft Visual C++ 2005 Redistributable Microsoft.VCRedist.2005.x86 8.0.61001 winget
Microsoft Visual C++ 2008 Redistributable - x64 Microsoft.VCRedist.2008.x64 9.0.30729.6161 winget
Microsoft Visual C++ 2008 Redistributable - x86 Microsoft.VCRedist.2008.x86 9.0.30729.6161 winget
Microsoft Visual C++ 2013 Redistributable (x86) Microsoft.VCRedist.2013.x86 12.0.40664.0 winget
Microsoft Visual C++ 2013 Redistributable (x64) Microsoft.VCRedist.2013.x64 12.0.40664.0 winget
Microsoft Visual C++ 2012 Redistributable (x64) Microsoft.VCRedist.2012.x64 11.0.61030.0 winget
Microsoft Visual C++ 2012 Redistributable (x86) Microsoft.VCRedist.2012.x86 11.0.61030.0 winget
Microsoft Visual C++ 2015-2022 Redistributable (x64) Microsoft.VCRedist.2015+.x64 14.34.31823.3 winget
Microsoft Visual C++ 2015-2022 Redistributable (x86) Microsoft.VCRedist.2015+.x86 14.34.31823.3 winget
Microsoft Visual C++ 2010 x64 Redistributable Microsoft.VCRedist.2010.x64 10.0.40219 winget
Microsoft Visual C++ 2010 x86 Redistributable Microsoft.VCRedist.2010.x86 10.0.40219 winget
Microsoft Visual C++ 2019 Redistributable (Arm64) Microsoft.VCRedist.2019.arm64 14.29.30139.0 winget
Microsoft Visual C++ 2022 Redistributable (Arm64) Microsoft.VCRedist.2022.arm64 14.34.31823.3 winget
各ディストリビューション、各バージョンが利用できることがわかるので目的の物のIDをコピーしてインストールする。
PS C:\Users\public>winget install Microsoft.VCRedist.2015+.x64
見つかりました Microsoft Visual C++ 2015-2022 Redistributable (x64) [Microsoft.VCRedist.2015+.x64] バージョン 14.34.31823.3
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://download.visualstudio.microsoft.com/download/pr/a16e1596-7fef-4570-8d63-fb9d4e72c820/D0CAFF8097BB9C43A3685686826867506BF6EDD667F7B90092CB0EB1B964A85E/VC_redist.x64.exe
██████████████████████████████ 24.2 MB / 24.2 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
PS C:\Users\public>winget install Microsoft.VCRedist.2015+.x86
見つかりました Microsoft Visual C++ 2015-2022 Redistributable (x86) [Microsoft.VCRedist.2015+.x86] バージョン 14.34.31823.3
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://download.visualstudio.microsoft.com/download/pr/a16e1596-7fef-4570-8d63-fb9d4e72c820/BB66E74A41ECF5DC09487608E477ACC4F78A38A0EC4FFE3100069C8A067DA29A/VC_redist.x86.exe
██████████████████████████████ 13.0 MB / 13.0 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
PS C:\Users\public>
winget
のメモ
winget
を使うと主要ブラウザやコードエディタなどもインストールできる。
WindowsのPCを新しくセットアップするときに使えば、Edgeを起動せずに他のブラウザやVSCodeなどをインストールできる。
また、Visual StudioのビルドツールやPython、Anaconda、rustupなど開発環境の構築に役立つものも多いので、ブラウザで検索して探すのに手間取ったときなどは winget
で検索してみるとあっさり見つかるかもしれない。
Git for Windowsなどはインストーラを起動すると各種設定を行いながら進み最後にインストールが行われるはずだが、 winget
を使ってインストールを実行するとすべての設定がデフォルトのままインストールされてしまうので、こだわりたい人は注意が必要。
winget install
または winget upgrade
するときは -i
( --interactive
)オプションをつけておくと対話的なインストールが始まり、インストール過程で変更できる設定を編集できるようになる。 (対話モードをデフォルトにしてほしい)
winget
に登録されている情報は show
を使うとみることができる。
PS C:\Users\public>winget show Git.GIT
見つかりました Git [Git.Git]
バージョン: 2.38.0
公開元: The Git Development Community
発行元 URL: https://gitforwindows.org
発行元のサポート URL: https://github.com/git-for-windows/git/issues
作成者: Johannes Schindelin
モニカー: git
説明: Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike.
ホーム ページ: https://gitforwindows.org
ライセンス: GNU General Public License version 2
ライセンス URL: https://raw.githubusercontent.com/git-for-windows/git/main/COPYING
著作権: Copyright (C) 1989, 1991 Free Software Foundation, Inc.
著作権 URL: https://raw.githubusercontent.com/git-for-windows/git/main/COPYING
リリース ノート URL: https://github.com/git-for-windows/git/releases/tag/v2.38.0.windows.1
インストーラー:
種類: inno
ダウンロード URL: https://github.com/git-for-windows/git/releases/download/v2.38.0.windows.1/Git-2.38.0-64-bit.exe
SHA256: 49fa8d1f151e83b89c84e0cb9e400ee0d543d238960f506e487b5a39889fa2c8
リリース日: 2022-10-03
インストーラの実行ファイルへのURLが記載されている場合がほとんどであるため、
curl.exe
などでダウンロードして手動で実行することでもデフォルトインストールを回避することができる。
その他、使い方は winget
または winget <コマンド>
の後に -?
or --help
オプションをつけることで見ることができる。
PS C:\Users\public>winget -?
Windows パッケージ マネージャー v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.
WinGet コマンド ライン ユーティリティを使用すると、コマンド ラインからアプリケーションやその他のパッケージをインストールできます。
使用状況: winget [<コマンド>] [<オプション>]
使用できるコマンドは次のとおりです:
install 指定されたパッケージをインストール
show パッケージに関する情報を表示します
source パッケージのソースの管理
search アプリの基本情報を見つけて表示
list インストール済みパッケージを表示する
upgrade 利用可能なアップグレードの表示と実行
uninstall 指定されたパッケージをアンインストール
hash インストーラー ファイルをハッシュするヘルパー
validate マニフェスト ファイルを検証
settings 設定を開くか、管理者設定を設定する
features 試験的な機能の状態を表示
export インストールされているパッケージのリストをエクスポート
import ファイル中のすべてのパッケージをインストール
特定のコマンドの詳細については、そのコマンドにヘルプ引数を渡します。 [-?]
次のオプションを使用できます。
-v,--version ツールのバージョンを表示
--info ツールの一般情報を表示
詳細については、次を参照してください。 https://aka.ms/winget-command-help
PS C:\Users\public>winget upgrade --help
Windows パッケージ マネージャー v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.
インストールされたパッケージ リスト、またはマニフェストから直接検索し、選択されたパッケージをアップグレードします。既定では、クエリはパッケージの ID、名前、モニカーに大文字小文字の区別なく一致する必要があります。その他のフィールドは、適切なオプションを渡すことで使用することができます。引数が指定されていない場合は、利用可能なアップグレードを含むパッケージが表示されます
使用状況: winget upgrade [[-q] <query>] [<オプション>]
次の引数を使用できます。
-q,--query パッケージの検索に使用されるクエリ
次のオプションを使用できます。
-m,--manifest パッケージのマニフェストのパス
--id ID で結果をフィルター処理
--name 名前で結果をフィルター処理
--moniker モニカーで結果をフィルター処理
-v,--version 指定されたバージョンを使用します。既定値は最新バージョンです
-s,--source 指定されたリソースを使用してパッケージを検索
-e,--exact 完全一致を使用してパッケージを検索
-i,--interactive 対話式のインストールが要求されます。ユーザーの入力が必要になる場合があります
-h,--silent サイレント インストールを要求
--purge パッケージ ディレクトリ (ポータブル) 内のすべてのファイルとディレクトリを削除します
-o,--log ログの場所 (サポートされている場合)
--override インストーラーに渡される引数を上書き
-l,--location インストール先 (サポートされている場合)
--force インストーラーのハッシュのチェックを上書きする
--accept-package-agreements パッケージのすべての使用許諾契約に同意する
--accept-source-agreements ソース操作中にすべてのソース契約に同意する
--header オプションの Windows-Package-Manager REST ソース HTTP ヘッダー
--all インストールされているすべてのパッケージが利用可能であれば最新のものに更新する
--include-unknown 現在のバージョンを特定できない場合でもパッケージをアップグレードする
詳細については、次を参照してください。 https://aka.ms/winget-command-upgrade